配列要素を反復処理するために For-In ループを使用する
このステップでは、JavaScript の for-in ループについて学びます。これは、オブジェクトのプロパティや配列の要素を反復処理するための簡単な方法を提供します。
WebIDE を使って~/projectディレクトリに新しいforInLoop.jsファイルを作成します。
// for-in ループを使って配列を反復処理する
let fruits = ["apple", "banana", "cherry", "date"];
console.log("配列のインデックスを反復処理する:");
for (let index in fruits) {
console.log(`インデックス:${index}, 果物:${fruits[index]}`);
}
// for-in ループを使ってオブジェクトを反復処理する
let student = {
name: "John Doe",
age: 22,
major: "Computer Science",
gpa: 3.8
};
console.log("\nオブジェクトのプロパティを反復処理する:");
for (let property in student) {
console.log(`${property}: ${student[property]}`);
}
// 実用的な例:商品の合計価格を計算する
let shoppingCart = [
{ name: "Laptop", price: 1000 },
{ name: "Headphones", price: 100 },
{ name: "Mouse", price: 50 }
];
console.log("\n合計価格を計算する:");
let totalPrice = 0;
for (let index in shoppingCart) {
totalPrice += shoppingCart[index].price;
}
console.log(`合計価格:$${totalPrice}`);
JavaScript ファイルを実行して、for-in ループの動作を確認します。
node ~/project/forInLoop.js
出力例:
配列のインデックスを反復処理する:
インデックス: 0, 果物: apple
インデックス: 1, 果物: banana
インデックス: 2, 果物: cherry
インデックス: 3, 果物: date
オブジェクトのプロパティを反復処理する:
name: John Doe
age: 22
major: Computer Science
gpa: 3.8
合計価格を計算する:
合計価格: $1150
for-in ループに関する重要なポイント:
- 配列とオブジェクトの両方で機能します。
- 配列の場合はインデックスを、オブジェクトの場合はプロパティを反復処理します。
- 従来のインデックスベースのループを使わずに要素にアクセスするための簡単な方法を提供します。
- 配列で使用する場合、すべての列挙可能なプロパティを反復処理するため、注意が必要です。
その柔軟性を示す別の例を見てみましょう。
// for-in ループを使ってデータをフィルタリングして変換する
let grades = {
math: 85,
science: 92,
english: 78,
history: 88
};
console.log("80 点以上の成績をフィルタリングする:");
for (let subject in grades) {
if (grades[subject] > 80) {
console.log(`${subject}: ${grades[subject]}`);
}
}
再度、ファイルを実行します。
node ~/project/forInLoop.js
出力例:
80点以上の成績をフィルタリングする:
math: 85
science: 92
history: 88