一、Array.fill()方法概述
在JavaScript中,Array.fill()方法是一种非常有用的数组方法,它可以将数组中的所有元素替换为固定值,同时返回新的数组。该方法接受三个参数:fillValue,startIndex和endIndex。其中,fillValue是用来填充数组的值,startIndex和endIndex分别是数组填充的起始位置和结束位置。
const arr1 = [1, 2, 3, 4, 5]; const arr2 = arr1.fill(0, 2, 4); console.log(arr1); // [ 1, 2, 0, 0, 5 ] console.log(arr2); // [ 1, 2, 0, 0, 5 ]
可以看到,上面的代码将数组arr1的索引从2开始到4之前的位置全部填充为0,返回的arr2和修改后的arr1是一样的。
二、使用Array.fill()方法初始化数组
在JavaScript中,使用for循环可以遍历一个数组,并给每个元素都赋予一个默认值,但是这种方式比较繁琐。使用fill()方法则可以非常方便地初始化一个数组。
const arr = Array(5).fill(0); console.log(arr); // [ 0, 0, 0, 0, 0 ]
上面的代码使用fill()方法初始化了一个长度为5的数组,将数组中的所有元素都赋值为0。
三、使用Array.fill()方法替换数组元素
除了初始化数组之外,fill()方法还可以用于替换数组元素。
const arr = [1, 2, 3, 4, 5]; arr.fill(0, 2, 4); console.log(arr); // [ 1, 2, 0, 0, 5 ]
上面的代码将数组arr的索引从2到4之前的位置全部替换为0。
四、使用Array.fill()方法替换多维数组元素
在多维数组中,fill()方法同样可以很方便地替换元素。
const arr = Array(3).fill().map(() => Array(3).fill(0)); console.log(arr); // [ [ 0, 0, 0 ], [ 0, 0, 0 ], [ 0, 0, 0 ] ]
上面的代码创建了一个3×3的二维数组,并将所有元素都赋值为0。
五、使用Array.fill()方法合并数组
使用fill()方法不仅可以替换数组元素,还可以将多个数组合并到一起。
const arr1 = [1, 2, 3]; const arr2 = [4, 5, 6]; const arr3 = Array(3).fill(0); const arr4 = [...arr1, ...arr2, ...arr3]; console.log(arr4); // [ 1, 2, 3, 4, 5, 6, 0, 0, 0 ]
上面的代码将三个数组合并为一个,并在最后添加了三个0。
六、使用Array.fill()方法生成连续的数字数组
fill()方法还可以用来生成一组连续的数字数组。
const arr = Array(5).fill().map((item, index) => index + 1); console.log(arr); // [ 1, 2, 3, 4, 5 ]
上面的代码使用fill()方法创建了一个长度为5的数组,然后使用map()方法将每个元素转化为连续的数字。
七、小结
通过上面的几个例子,我们可以看到,使用Array.fill()方法可以帮助我们快速、方便地初始化和修改数组中的元素,同时也可以用来生成一组连续的数字数组。