在 ECMAScript 2017 中,新增了一个方法 Array.prototype.fill()
,它可以用来填充数组中的值。在本篇文章中,我们将会介绍 Array.prototype.fill()
的语法、用法和示例。
语法
array.fill(value[, start[, end]]);
value
:必需,要填充的值。start
:可选,填充的起始位置,默认从 0 开始。end
:可选,填充的结束位置,默认是数组的长度。
用法
Array.prototype.fill()
方法会修改原数组,将其所有元素的值替换为指定值 value
。可以通过指定 start
和 end
参数来控制填充的区间。
const arr = [1, 2, 3, 4, 5]; arr.fill(0); // [0, 0, 0, 0, 0] arr.fill(1, 2, 4); // [0, 0, 1, 1, 0]
可以发现,在第一次填充时,整个数组都被填充为 0。而在第二次填充时,只有从位置 2 到位置 3 的元素被填充为 1。
示例
下面是 Array.prototype.fill()
方法的一些示例。
数组初始化
我们可以使用 fill
方法来初始化一个固定长度的数组。
const arr = new Array(5).fill(0); // [0, 0, 0, 0, 0]
全等式判断
我们可以使用 fill
方法来生成一个指定长度的全等式数组。
const arr1 = new Array(5).fill('a'); const arr2 = ['a', 'a', 'a', 'a', 'a']; console.log(arr1 === arr2); // false console.log(arr1.join() === arr2.join()); // true
数组拷贝
我们可以使用 fill
方法来拷贝一个数组。
const arr1 = [1, 2, 3]; const arr2 = [].fill.call(arr1); // [1, 2, 3]
总结
Array.prototype.fill()
是一个非常实用的方法,它可以帮助我们在处理数组时更加方便和高效。在平时的开发中,可以考虑使用 Array.prototype.fill()
这个方法来优化代码的书写。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/654f83437d4982a6eb875f23