在前端开发中,我们经常需要处理数组。ES6 中引入了一些新的数组方法,如 Array.from()
、Array.of()
、Array.prototype.find()
、Array.prototype.findIndex()
等等,这些方法都可以让我们更方便地操作数组。在 ES9 中,又新增了一个数组方法 Array.prototype.fill()
,并且对 new Array()
构造函数进行了一些补充。
Array.prototype.fill()
Array.prototype.fill()
方法可以用指定的值填充一个数组中的所有元素,从起始索引位置开始,到终止索引位置(不包括终止索引位置)结束。该方法会改变原数组。其语法如下:
array.fill(value[, start[, end]])
value
:要填充的值。start
(可选):起始索引位置,默认为 0。end
(可选):终止索引位置(不包括该位置),默认为数组长度。
该方法可以用于初始化一个数组,或者将一个数组中的所有元素替换为同一个值。下面是一些示例代码:
// javascriptcn.com 代码示例 // 初始化一个长度为 5,填充值为 0 的数组 const arr1 = new Array(5).fill(0); // 将数组中的所有元素替换为 1 const arr2 = [1, 2, 3, 4, 5]; arr2.fill(1); // 将数组中索引位置为 1 到 3(不包括 3)的元素替换为 0 const arr3 = [1, 2, 3, 4, 5]; arr3.fill(0, 1, 3);
new Array()
在 ES6 中,new Array()
构造函数可以接受一个参数,用于指定数组的长度。如果传入的参数不是一个数值,则会抛出一个 RangeError
异常。在 ES9 中,对该构造函数进行了一些补充,使其更加灵活。具体来说,它现在可以接受任意数量的参数,这些参数会被用作数组的初始值。
const arr1 = new Array(5); // 创建一个长度为 5 的数组 const arr2 = new Array('foo', 'bar', 'baz'); // 创建一个包含 3 个元素的数组,元素分别为 'foo'、'bar'、'baz'
总结
ES9 中新增的 Array.prototype.fill()
方法和对 new Array()
构造函数的补充,使得我们在处理数组时更加方便。通过 Array.prototype.fill()
方法,我们可以快速地初始化数组或者将数组中的所有元素替换为同一个值。而对 new Array()
构造函数的补充,则使得我们可以更加灵活地创建数组,不再局限于指定一个长度。这些方法的使用可以提高我们的开发效率,减少代码量,是我们在日常开发中需要掌握的基本技能。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/656a99c9d2f5e1655d302394