こんにちは。
配列の要素をループ処理する方法を調べました1。
そのまま for of ループさせる
for (const e of arr) {
console.log(e);
}
インデックスで for ループさせる
for (let i = 0; i < arr.length; i++) {
console.log(i, arr[i]);
}
- なお下記(for in ループ)もインデックスでループさせていますが使用上注意が必要とのことです。
for (const i in arr) {
console.log(i, arr[i]);
}
全要素を処理(ループではない)
arr.forEach((e, i) =>
console.log(i, e)
);
forEach
と map
がこのタイプです。break
できません。callbak 関数の第二引数で index が得られます。
Object.entries() を介して for of ループ
for (const [i, e] of Object.entries(arr)) {
console.log(i, e);
}
- Object.entries() は
[key, value]
を要素とする配列を作ります。したがって配列を与えれば[index, element]
を要素とする配列を作ります。
Array.prototype.entries() を介して for of ループ
for (const [i, e] of arr.entries()) {
console.log(i, e);
}
- Array.prototype.entries() から得たイテレータを for of ループさせています。