ES6拓展运算符(...)用例

1.找出数组中最大的数数组

 使用Math.max()函数来获取最大值,数组是不能直接做为Math.max()的参数,咱们须要把它展开。在ES6以前,咱们也是须要结合apply来处理:app

var arr = [2, 4, 8, 6, 0];

function max(arr) {
 return Math.max.apply(null, arr);
}

console.log(max(arr));

使用ES6扩展运算符(...)函数

var arr = [2, 4, 8, 6, 0];
console.log(Math.max(...arr));

2.复制数组spa

在ES6以前,是不能直接经过赋值的方式复制数组的。code

var arr = ['a', 'b', 'c'];
var arr2 = arr;

arr2.push('d');

console.log(arr);//输出['a','b','c','d']

直接赋值的方式,实际上引用的是同一个数组,当任何一个数组里面的元素发生变化,两个数组都会同时改变。blog

ES6使用扩展运算符字符串

var arr = ['a', 'b', 'c'];
var arr2 = [...arr];

arr2.push('d');

console.log(arr);//输出['a','b','c']

虽然arr2添加了元素'd',可是对数组arr来讲,它的元素列表是没有发生改变的。这样就很简单实现了复制的功能。io

3.插入数组console

若是咱们要在一个数组插入另一个数组的元素,能够结合splice和apply使用,如:function

var arr = [1, 2, 3, 4];
 var arr1 = ["a", "b", "c", "d"];   
 arr.splice.apply(arr, [2, 0].concat(arr1))
 console.log(arr)// [1, 2, "a", "b", "c", "d", 3, 4]

ES6使用扩展运算符

 var arr=[1,2,3,4];
      var arr1=["a","b","c","d"]
       arr.splice(2,0,...arr1)
      console.log(arr)// [1, 2, "a", "b", "c", "d", 3, 4]

 

4.将字符串转化为数组

 var str ="hello";
    var str1 = [...str];
    console.log(str1)// ["h", "e", "l", "l", "o"]

5.收集剩余参数

 function fn (a,b,...args) {
           console.log(a)//1
           console.log(b)//2
           console.log(args)//[3,4,5]
       }
       fn(1,2,3,4,5)

6.解构数组

var arr =[1,2,3,4,5];
       var [a,b,c,...arr1] = arr;
       console.log(a,b,c,arr1)//1,2,3[4,5]
相关文章
相关标签/搜索