ECMAScript 2016 (ES7) 中的 Array.prototype.fill()

在 ECMAScript 2016 (ES7) 中,新增了一个非常实用的 Array 方法:Array.prototype.fill()。该方法可以用来填充一个数组中的所有元素,使其都变为指定的值。

语法

Array.prototype.fill(value[, start[, end]])

  • value:要填充的值。
  • start:填充的起始位置,默认为 0。
  • end:填充的结束位置,默认为数组的长度。

示例

----- --- - --- -- -- -- ---
------------ -- --- -- -- -- --

----- ---- - --- -- -- -- ---
------------ --- -- --- -- -- -- --

----- ---- - --- -- -- -- ---
------------ -- --- -- --- -- -- -- --

深度解析

填充一个数组

使用 Array.prototype.fill() 方法可以很方便地填充一个数组。例如,假设我们需要创建一个长度为 10,值都为 0 的数组,可以这样写:

----- --- - --- ------------------

这样就可以得到一个长度为 10,值都为 0 的数组。

替换数组中的值

有时候我们需要将数组中的某些值替换成其他值,可以使用 Array.prototype.fill() 方法来实现。例如,假设我们有一个数组,其中的值都是 1,我们需要将其中的值为 2 的元素替换成 0,可以这样写:

----- --- - --- -- -- -- ---
----------- --------------- -------------- - ---

这样就可以将数组中的值为 2 的元素替换成 0。

生成连续的数字数组

使用 Array.prototype.fill() 方法还可以生成连续的数字数组。例如,假设我们需要生成一个长度为 10,从 1 开始的连续数字数组,可以这样写:

----- --- - --- ------------------------- ------ -- ----- - ---

这样就可以得到一个长度为 10,值从 1 开始的连续数字数组。

总结

Array.prototype.fill() 方法是一个非常实用的 Array 方法,可以用来填充一个数组中的所有元素,使其都变为指定的值。使用该方法可以方便地生成连续的数字数组,替换数组中的值等。同时,需要注意该方法会改变原数组,所以在使用时需要注意对原数组的影响。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6625cbffc9431a720c21d35d