この記事では、foreach、for in、for of の類似点と相違点を主に紹介します。必要な場合は、それを共有します。
forEach() メソッドは、配列の各要素を呼び出し、その要素をコールバック関数に渡します。
注: forEach() は空の配列に対してコールバック関数を実行しません。
サンプルコード:
1 var arr = [4, 9, 16, 25]; 2 arr.forEach(function(value, index) { 3 console.log(index+': '+value+'\n'); 4 });
結果は次のとおりです:
for/in ステートメントは、オブジェクトのプロパティをループするために使用されます。
ループ内のコードが実行されるたびに、配列の要素またはオブジェクトのプロパティが操作されます。
サンプルコード:
1 var person = { 2 name: 'jack', 3 age: 18, 4 gender: 'male' 5 }; 6 for(key in person) { 7 console.log(key+': '+person[key]+'\n'); 8 }
結果は次のとおりです:
for in ステートメントを使用して配列を走査すると、次の問題が発生する可能性があることに注意してください。
1.インデックスは文字 String型では幾何学的な演算を直接行うことはできません。
2. 走査順序は実際の配列の内部順序に従っていない可能性があります。
3. for in を使用すると、プロトタイプを含む配列の列挙可能なプロパティをすべて走査します。
は次のとおりです :
1 var arr = [12, 43, 19]; 2 Array.prototype.index = 110;//这里的原型属性也会被打印出来 3 for(var index in arr) { 4 console.log(index+': '+arr[index]+'\n'); 5 }
実行結果 :
for of ステートメントは、for in ステートメントよりも使用すると便利です。これは、配列を走査するために新しく提案された方法です。 ES6、
具体的な使用法:
1 var arr = [12, 43, 19]; 2 Array.prototype.index = 110;//此原型属性不会被打印出来 3 for(var value of arr) { 4 console.log(value+'\n'); 5 }
結果は次のとおりです:
概要: foreach は配列を走査するためによく使用されますが、in では使用法がより複雑になります。一般に、オブジェクトを走査するために使用されます
; for of は、配列を走査するために非常に便利で安全に使用できます。
以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
JS 非同期プログラミング - Promise、Generator、async/await
以上がforeach、for in、for of の類似点と相違点の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。