JavaScript三点表示法

JavaScript三点表示法,JavaScript新增加的一个功能,是在变量名前面使用三个句点形式的一个操作符,如下所示:

...myvar

有人称之为展开操作符(spread operator),还有人称之为剩余参数(rest parameters)。具体怎么称呼,实际上和使用它的目的有关,而它的作用就是展开一个数组的内容(例如,展开为参数的一个列表,以传递给一个函数)或者把值的列表压缩到一个数组中。

这听起来可能有点令人费解,让我们来看几个示例。

组合多个数组

假设有如下的一个数组:

var array1 = [′apple′, ′banana′, ′pear′];

想要声明另一个包含了array1但是又扩展了它的数组。比较简单的方法是,像下面这样声明一个新的数组:

var array2 = [′orange′, ′cherry′, ′fig′];

然后,用诸如concat()这样的一个方法将两个数组组合起来。这个方法我们已经学习过了。但是,如果想要把第二个数组放入第一个数组中的一个指定的位置,还需要做更多的工作。可以直接用下面的方法来做到这一点:

var array2 = [′orange′, ...array1, ′cherry′, ′fig′];

查看array2的时候,将发现它包含如下内容:

[′orange′, ′apple′, ′banana′, ′pear′, ′cherry′, ′fig′];

用参数的数组来调用函数

可以用相同的表示法,将一个数组划分为参数的列表,以传递给函数或方法。

假设想要从一个数值的数组中找出最小值(在这个例子中,用了JavaScript的Math对象的min()方法,也可使用其他的方法,或者自己编写一个方法,但其工作原理是相同的)。

var myArray = [91, 35, 17, 101, 29, 77];
alert(Math.min(...myArray)); // 显示 17

收集数据

最后,来看看如何用三点表示法将值收集到一个数组之中。

假设声明了如下的一个数组:

var [a, b, ...c] = [1, 2, 3, 4, 5, 6, 7, 8, 9];

在这个例子中,JavaScript将会收集从a到b的值,并用变量c来组成其他剩余值的一个数组,从而使得a=1、b=2而c=[3, 4, 5, 6, 7, 8, 9]

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!