es6三点运算符的用法

Posted hibiscus-ben

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6三点运算符的用法相关的知识,希望对你有一定的参考价值。

扩展运算符( spread )是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。

 1 console.log(...[1,2,3]); // 1 2 3 2 console.log(1,...[1,2,3],5); // 1 1 2 3 5 

 

合并多个数组

通过push函数,将一个数组添加到另一个数组的尾部;有了扩展运算符,就可以直接将数组传入push方法;

扩展运算符提供了数组合并的新写法。

1     var arr1 = [0,1,2];
2     var arr2 = [3,4,5];
3     arr1.push(...arr2); // [0,1,2,3,4,5]
4     console.log(arr1);
1     var arr4 = [‘a‘,‘b‘];
2     var arr5 = [‘c‘];
3     var arr6 = [‘d‘,‘e‘];
4     // es5合并数组
5     arr4.concat(arr5,arr6);
6     // es6合并数组
7     var newArr = [...arr4,...arr5,...arr6];
8     console.log(newArr);

简化求出一个数组最大元素的写法,由于 javascript 不提供求数组最大元素的函数,所以只能套用Math.max函数,将数组转为一个参数序列,然后求最大值。有了扩展运算符以后,就可以直接用Math.max了。

 1 console.log(Math.max(...[14,2,7])); // 14  

扩展运算符赋值

如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错

 1     const [first,...rest] = [1,2,3,4,5];
 2     console.log(first); // 1
 3     console.log(rest); // [2,3,4,5]
 4 
 5     // 如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错。
 6     const [f,...r] = [];
 7     console.log(f,r); // undfined,[]
 8 
 9     const [f1,...r1] = ["foo"];
10     console.log(f1,r1); // foo,[]

 

以上是关于es6三点运算符的用法的主要内容,如果未能解决你的问题,请参考以下文章

ES6扩展运算符(三点运算符)“...”用法和对象拷贝

es6三点运算符

(...)ES6三点扩展运算符

ES6---扩展运算符和rest‘...’(三点运算符),在数组函数set/map等中的应用

ES6展开运算符的两个用法

ES6新特性:扩展运算符 三个点(...)基础学习