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三点运算符的用法的主要内容,如果未能解决你的问题,请参考以下文章