javascript/collection
反復処理の注意点
let data = [1,2,,4];
for (let i = 0; i < data.length; i++) { console.log(data[i]); } // [出力] // 1 // 2 // undefined // 4
data.forEach((val) => { console.log(val); }); // [出力] // 1 // 2 // 3
let result = data.map((val) => { let res = val + 10; console.log(`map : ${val} -> ${res}`); return res; }); result; // [出力] // map : 1 -> 11 // map : 2 -> 12 // map : 4 -> 14 // (4) [11, 12, なし, 14]
data = [1,2,3,4,5];
for (let i = 0; i < data.length; i++) { console.log(data[i]); data.pop(); } // [出力] // 1 // 2 // 3
while (data.length) { console.log(data.shift()); } // [出力] // 1 // 2 // 3 // 4 // 5
// 奇数の場合のみ抽出 let result = data.filter((x) => { return (x % 2); });
let data = [ 1, 2, 3, 4, 5 ]; for (let i = 0; i < data.length; i++) { console.log(data[i]); if (data[i] == 3) { i++; } } // [出力] // 1 // 2 // 3 // 5
for では、break が利用できるが、可能であればメソッドを分けて return などで。 forEach, map では、break は使えないため要注意