let a = new Array(24).fill(0).map((el,index) => index)
console.log(a)

image.png
fill() 方法用一个固定值填充一个数组中从起始索引(默认为 0)到终止索引(默认为 array.length)内的全部元素。它返回修改后的数组。fill(0)传入一个参数则是给数组所有位置全部填充0

注意
下面这种方法是无效的

let a = new Array(24)
let s = a.map((el,index) => index)
console.log(s)

image.png
原因:
JavaScript 中,使用 new Array(24) 创建一个数组时,实际上会创建一个包含 24 个空位(empty items)的稀疏数组,而不是包含 24 个值的数组。这意味着数组的长度(length)为 24,但是并没有实际的值在数组中。
在这种情况下,使用 map 方法来遍历数组时,对于稀疏数组中的空位并不会执行回调函数,因此你得到的结果是一个包含 24undefined 值的数组,而不是一个包含 023 的数字的数组。


兔子先森
420 声望18 粉丝

致力于新技术的推广与优秀技术的普及。