在 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