ホームページ > ウェブフロントエンド > フロントエンドQ&A > Javascriptの配列とはどういう意味ですか?

Javascriptの配列とはどういう意味ですか?

青灯夜游
リリース: 2023-01-07 11:44:50
オリジナル
2573 人が閲覧しました

JavaScript では、配列は順序付けられたデータのコレクションを指します。配列の各メンバーは要素と呼ばれ、各要素の名前 (キー) は配列の添字 (インデックス) と呼ばれます。柔軟性があり、読み書き可能です。

Javascriptの配列とはどういう意味ですか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript 配列は順序付けされたデータのコレクションです。配列内の各メンバーは要素と呼ばれ、各要素の名前 (キー) は配列のインデックス (Index) と呼ばれます。配列の長さは柔軟で、読み取りと書き込みが可能です。

Array 配列オブジェクトは JS の組み込みオブジェクトです。変数を使用して、同じ型または異なる型の一連の値を格納できます。そこに格納された各値は、配列要素と呼ばれます。

JS 配列の作成

Array オブジェクトを使用してデータを保存する前に、Array オブジェクトを作成する必要があります。 Array オブジェクトを作成するにはさまざまな方法がありますが、一般的な 2 つの方法を以下に示します。

  • 方法 1: var 配列オブジェクト名 = [要素 1, 要素 2,..., 要素 n];

  • 方法 2: var array オブジェクト名 = new Array(element 1, element 2,..., element n);

メソッド 1 はより単純な配列作成メソッドであり、メソッド 2 はより単純な Formal メソッドです。配列の作成方法。どちらの作成メソッドも、新しく作成され初期化された配列オブジェクトを返します。どちらも、パラメーターで指定された値で配列を初期化します。要素の数 (配列長とも呼ばれます) はパラメーターの数です。これら 2 つの方法の効果は一般に同じですが、方法 1 の方が簡潔であるため、実際のアプリケーションでは最も一般的に使用されます。

配列作成例:

var hobbies1 = ["旅游","运动","音乐"];
var hobbies2 = new Array("旅游","运动","音乐");
ログイン後にコピー

上記のコード例は、3 つの要素を含む 2 つの配列オブジェクトを作成します。これらは完全に同等ですが、コードの最初の行はより簡潔です。

配列を作成する上記の 2 つの方法は、数値型パラメーターが 1 つだけある場合を除いて、通常は完全に同等であることに注意してください。このとき、最初の作成方法を使用すると、要素が 1 つだけ含まれる配列が作成され、その要素の値が数値パラメータに等しいことを意味しますが、二番目の作成方法を使用すると、要素が 1 つだけ含まれる配列が作成されることになります。数値型パラメータに等しい長さが作成されます。配列、例:

var arr = [3]; //创建了一个只有一个元素的数组,元素值为3
var arr = new Array(3);//创建了一个有3个元素的数组,3个元素值均为undefined
ログイン後にコピー

JS 配列要素の参照

配列に格納される各要素には位置インデックスがあります。 (添字とも呼ばれます)、配列の添字は 0 から始まり、配列の長さ-1 で終わります。つまり、最初の要素の添字は 0 で、最後の要素の添字は配列の長さ-1 です。

配列要素を参照する場合、配列名と添字を使用できます。参照形式は次のとおりです:

数组名[元素下标]
ログイン後にコピー

例: 3 つの要素を含む arr という名前の配列の 3 つの要素は、次のようになります。 arr[0]、arr[1]、および arr[2] 経由で参照されます。

JS 配列へのアクセス

配列にアクセスするには 2 つの方法があります:

  • 1 つは配列名に直接アクセスすることです。 . このとき、配列に格納されているすべての要素の値を返します。たとえば、alert(hobbies1) の場合、このステートメントを実行すると、上で作成した Hobby1 配列に格納されているすべての要素値が警告ダイアログ ボックスに出力されます: 旅行、スポーツ、音楽;

  • 2 番目は、配列と添字のアクセスを使用するもので、この場合、配列の添字に対応する配列要素の値が返されます。例:alert(hobbies1[1]) このステートメントを実行すると、警告ダイアログ ボックスに「モーション」が出力されます。

JS は配列を走査します (for in および forEach ループ)

JS 配列 (ループ配列) を走査するにはさまざまな方法があります。従来の For ループに加えて、アップグレードされたバージョンの for in ループを使用することも、Array 型の forEach() メソッドを使用することもできます。オブジェクトのキー名を走査したい場合は、keys( ) 方法。

1. for および for in を使用して配列を走査する

for ステートメントと for/in ステートメントは両方とも配列を反復できます。 for 文は、length 属性と配列添字を使用して実装する必要があり、実行効率は for/in 文ほど高くありません。さらに、for/in ステートメントは空の要素をスキップします。

非常に長い配列の場合は、反復に for/in ステートメントを使用することをお勧めします。

例 1

次の例では、for ステートメントを使用して配列を反復処理し、すべての数値要素をフィルターで除外します。

var a = [1, 2, ,,,,,,true,,,,,,, "a",,,,,,,,,,,,,,,4,,,,,56,,,,,,"b"];  //定义数组
var b = [], num = 0;
for (var i = 0; i < a.length; i ++) {  //遍历数组
    if (typeof a[i] == "number")  //如果为数字,则返回该元素的值
        b.push(a[i]);
    num ++;  //计数器
}
console.log(num);  //返回42,说明循环了42次
console.log(b);  //返回[1,2,4,56]
ログイン後にコピー

例 2

次のコードでは、for/in ステートメントを使用して、例 1 の配列 a を反復処理します。 for/in ループ構造では、変数 i は配列の添字を表し、a[i] は指定された添字を読み取ることができる要素の値です。

var b = [], num = 0;
for (var i in a) {  //遍历数组
    if(typeof a[i] == "number")  //如果为数字,则返回该元素的值
        b.push(a[i]);
    num ++;  //计数器
}
console.log(num);   //返回7,说明循环了7次
console.log(b);  //返回[1,2,4,56]
ログイン後にコピー

タイマーからわかるように、for/in ステートメントは配列を反復し、ループするのは 7 回だけですが、for ステートメントは 42 回ループします。

2. forEach を使用して配列を走査する

Array 型は、各配列の forEach() プロトタイプ メソッドを定義し、これを使用して配列の反復操作を実行します。具体的な説明は次のとおりです。

array.forEach(callbackfn[, thisArg]);
ログイン後にコピー

パラメータの説明は次のとおりです。

  • array: 配列オブジェクト。

  • callbackfn: 必須パラメータ。最大 3 つのパラメータを受け取ることができる関数。 forEach は、配列内の要素ごとに callbackfn 関数を 1 回呼び出します。

  • thisArg: オプションのパラメータ。callbackfn 関数で this によって参照できるオブジェクト。 thisArg を省略した場合、this の値は未定義になります。

对于数组中出现的每个元素,forEach 方法都会调用 callbackfn 函数一次,采用升序索引顺序,但不会为数组中空元素调用回调函数。

除了数组对象之外,forEach 方法还可以用于有 length 属性且具有已按数字编制索引的属性名的任何对象,如关联数组对象、Arguments 等。

回调函数语法如下:

funtion callbackfn(value, index, array);
ログイン後にコピー

最多可以使用三个参数来声明回调函数。回调函数的参数说明如下。

  • value:数组元素的值。

  • index:数组元素的数字索引。

  • array:包含该元素的数组对象。

forEach 方法不直接修改原始数组,但回调函数可能会修改它。

示例

下面示例使用 forEach 迭代数组 a,然后把每个元素的值和下标索引输出显示,代码如下:

function f(value,index,array) {
    console.log("a[" + index + "] = " + value);
}
var a = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;];
a.forEach(f);
ログイン後にコピー

演示结果如下:

Javascriptの配列とはどういう意味ですか?

【推荐学习:javascript高级教程

以上がJavascriptの配列とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート