JavaScript For Inループ
For Inループ
JavaScriptのfor in文は、オブジェクトのプロパティをループします:
for (key in object) {
// 実行するコードブロック
}
例
const person = {fname:"John", lname:"Doe", age:25};
let text = "";
for (let x in person) {
text += person[x];
}
例の説明
- for inループはpersonオブジェクトを反復処理します
- 各反復ではキー(x)が返されます
- キーを使用してそのキーの値にアクセスします
- キーの値はperson[x]で取得します
配列でのFor In
JavaScriptのfor in文は、配列のプロパティをループすることもできます:
for (variable in array) {
code
}
例
const numbers = [45, 4, 9, 16, 25];
let txt = "";
for (let x in numbers) {
txt += numbers[x];
}
重要: インデックスの順序が重要な場合、配列でfor inを使用しないでください。
インデックスの順序は実装に依存し、配列の値が期待通りの順序でアクセスされない可能性があります。
インデックスの順序が重要な場合は、forループ、for ofループ、またはArray.forEach()を使用することが良いです。
Array.forEach()
forEach()メソッドは、各配列要素に対して1度だけ関数(コールバック関数)を呼び出します。
例
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
function myFunction(value, index, array) {
txt += value;
}
関数は3つの引数を取ります:
- アイテムの値
- アイテムのインデックス
- 配列自体
上記の例では、値パラメータのみを使用しています。以下のように書き直すこともできます:
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
function myFunction(value) {
txt += value;
}