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]
。
酷客网相关文章:
评论前必须登录!
注册