TL;DRこちら。
for (let i = 0; i < arr.length; i++)
— りぃ / Yuji Sugiura (@leader22) 2023年1月10日
は
for (let i of arr.keys())
って書けるし、中身もいるなら
for (let [i, d] of arr.entries())
ってする
配列のインデックスでループ
するとき、クラシックな書き方をしてきた。
const items = ["いぬ", "ねこ", "ぺんぎん"]; for (let i = 0; i < items.length; i++) { const item = items[i]; console.log({ i, item }); }
それが今や、もっと短く書ける時代に。
Array.prototype.keys()
const items = ["いぬ", "ねこ", "ぺんぎん"]; for (const i of items.keys()) { const item = items[i]; console.log({ i, item }); }
`Iterator`べんり。
インデックスと一緒に中身もループしたい
`Array.prototype.entries()`で。
const items = ["いぬ", "ねこ", "ぺんぎん"]; for (const [i, item] of items.entries()) { console.log({ i, item }); }
中身だけほしい場合、`.values()`を使ってもいいけど、そのままでも回せる。
const items = ["いぬ", "ねこ", "ぺんぎん"]; for (const item of items.value()) { console.log(item); } // OR for (const item of items) { console.log(item); }
`Iterator`べんり。
0-indexedな配列の生成
`.keys()`を利用することで、いわゆるレンジの配列もシュッと生成できる!
[...Array(5).keys()] // [0, 1, 2, 3, 4]
ということをメモりたいだけの記事でした。