以下の結果はすべて同じになるので
console.log(
Array.from({ length: 10 }).map((_, index) => index)
);
console.log(
Array.from({ length: 10 }, (_, index) => index)
);
console.log(
[...Array(10).keys()]
);
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
上記のどれかを使って以下のようなRange関数がつくれる。
function range(start, end) {
return Array.from({ length: end })
.map((_, index) => index + 1)
.filter((num) => num >= start && num <= end);
}
console.log(range(2, 8));
[2, 3, 4, 5, 6, 7, 8]