In addition to the basic methods for JavaScript arrays there are some new, powerful techniques for modifying array content. Like push, pop, shift and unshift, these methods are referred to as mutators, due to the fact that they modify the array. In this article, I’ll cover two: fill
and reverse
.
除了JavaScript 数组的基本方法外,还有一些用于修改数组内容的强大的新技术。 像push,pop,shift和unshift一样,由于这些方法会修改数组,因此它们被称为mutators 。 在本文中,我将介绍两个: fill
和reverse
。
填 (fill)
“Zeroes out” an array with any replacement value. Given an array of scores
:
用任何替换值“缩小”数组。 给定一系列scores
:
var scores = [15, 22, 3, 7, 11];
“Wiping out” every record in the array and viewing the result in the console:
“清除”阵列中的每条记录,并在控制台中查看结果:
scores.fill(0);
> [0, 0, 0, 0, 0]
fill
can take two other arguments: the first, start
is the point from which the fill will take place. Taking the current state of scores
, we can fill from the third value with:
fill
可以使用其他两个参数:第一个, start
是填充的起点。 以scores
的当前状态,我们可以从第三个值填充:
scores.fill(4,2);
Remember that arrays are indexed from 0
, so a value of 2
for start
will mean that fill
starts from the third value.
请记住,数组是从0
start
索引的,所以start
的值为2
意味着fill
将从第三个值开始。
The result:
结果:
> [0, 0, 4, 4, 4]
fill
can also take an end
value, where the fill stops. Of course, the fill “insert” value can be anything you wish: a number, string, or null
, for example.
fill
也可以取一个end
值,在此值处终止 。 当然,填充“插入”值可以是您想要的任何值:例如数字,字符串或null
。
fill
is part of ES6 / JS 2015, and is therefore supported in all recent browser versions except for IE and Opera; Mozilla Developer Network suggests a polyfill for those and older browser versions.
fill
是ES6 / JS 2015的一部分,因此, 除 IE和Opera 外 ,所有最新浏览器版本均支持fill
; Mozilla开发人员网络建议为那些和较旧的浏览器版本使用polyfill。
逆转 (reverse)
Pretty straightforward: reverse
reverses the order of elements. Given an array molluscs
:
非常简单: reverse
反转元素的顺序。 给定一个阵列molluscs
:
var molluscs = ["oysters", "mussels", "limpets"];
Reversing the array and showing the results in the console:
反转阵列并在控制台中显示结果:
molluscs.reverse()
> ["limpets", "mussels", "oysters"]
Note that reverse
still needs parentheses after it, even though it doesn’t contain any arguments.
请注意,即使reverse
不包含任何参数, reverse
仍需要括号。
翻译自: https://thenewcode.com/1091/Advanced-JavaScript-Array-Methods-fill-and-reverse