ES11 中新增了 Array.prototype.fill()
方法,它可以有效地填充数组,使用起来非常简便。在本文中,我们将学习如何使用 Array.prototype.fill()
方法,并结合实例演示其用法。
Array.prototype.fill() 简介
Array.prototype.fill()
方法用于将一个固定值填充到数组中的每一个元素上。它可以接受 1~3 个参数,分别是要填充的值、起始索引和结束索引。
- 要填充的值:必需
- 起始索引:可选,默认值为 0
- 结束索引:可选,默认值为数组长度
该方法将返回修改后的数组。
使用 Array.prototype.fill() 填充数组
以下是使用 Array.prototype.fill()
方法填充数组的示例:
const arr1 = [1, 2, 3, 4, 5]; const arr2 = new Array(5); const arr3 = new Array(5).fill(true); arr1.fill(0); // [0, 0, 0, 0, 0] arr2.fill(0); // [0, 0, 0, 0, 0] arr3.fill(false); // [false, false, false, false, false]
在上面的示例中,我们分别对一个已有数组和两个新建的数组进行了填充,并修改了填充的值。
注意,对于新建的数组,需要先通过 new Array(length)
创建数组,然后才能使用 fill()
方法进行填充。
指定起始和结束索引
如果需要指定起始和结束索引,可以在 fill()
方法中传递第二个和第三个参数:
const arr = new Array(5).fill(0, 1, 4); console.log(arr); // [0, 0, 0, 0, 0]
在上面的示例中,我们将一个新建的长度为 5 的数组从下标为 1 的位置开始,到下标为 3 的位置结束,填充为 0。
使用 Array.prototype.fill() 实现快速赋值数组
一个常见的用例是,我们需要快速地初始化一个数组为一定大小并赋予初始值。使用 Array.prototype.fill()
可以轻松实现。
const arr = Array(5).fill(0); console.log(arr); // [0, 0, 0, 0, 0]
在上面的示例中,我们新建一个数量为 5 的数组,并将其填充为 0。
总结
Array.prototype.fill()
方法可以非常方便地实现填充数组的操作,但需要注意的是,它会直接修改原始数组,并返回修改后的数组。
使用该方法可以快速地初始化数组,也可以在需要时进行重新填充,提高代码的可读性和可维护性。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65375b1a7d4982a6ebfd738c