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 = ['a', 'b', 'c']; a.forEach(f);
演示结果如下:
【推荐学习:javascript高级教程】
以上がJavascriptの配列とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。