使用 ES7 中的 Array.prototype.fill 方法填充数组
在前端开发中,经常需要创建一些数组并初始化为特定的值。在这种情况下,使用 ES7 中添加的 Array.prototype.fill 方法可以非常方便地填充数组内容。
Array.prototype.fill 方法接受两个参数:一个用来填充数组元素的值,和一个可选的起始索引位置。该方法会将整个数组填充为指定值,或者从指定位置开始填充,覆盖原有的值。
示例代码如下:
const myArray = new Array(5).fill('hello') console.log(myArray) // Output: ['hello', 'hello', 'hello', 'hello', 'hello'] const anotherArray = [1, 2, 3, 4, 5] anotherArray.fill(0, 2, 4) console.log(anotherArray) // Output: [1, 2, 0, 0, 5]
在第一个示例中,我们创建了一个长度为 5 的数组,并使用 fill 方法填充所有元素为 'hello'。这可以很方便地初始化一些常量数组。
在第二个示例中,我们创建了一个包含数字的数组,并使用 fill 方法从索引位置 2 开始,覆盖两个元素为 0。这可以方便地更新部分数组元素的值。
除了简单的数组填充,Array.prototype.fill 方法还有其他应用场景,如在创建随机数数组时,我们可以先填充一个长度固定但元素值为空的数组,再使用 Math.random() 方法填充数组每个元素的值,如下所示:
const randomArray = new Array(5) randomArray.fill(0).map(() => Math.random()) console.log(randomArray) // Output: [0.439, 0.258, 0.746, 0.819, 0.154]
通过先填充数组为 0,再通过 map 方法对每个元素填充为随机数,我们可以方便地创建长度固定但元素随机的数组。
总结:
通过使用 ES7 中的 Array.prototype.fill 方法,我们可以方便地填充数组内容,简化前端开发中常见的数组初始化和更新操作。在实际应用中,我们可以通过结合其他处理方法,如 map、filter、reduce 等,更加高效地操作数组。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/654bfaa27d4982a6eb5b84ef