zoukankan      html  css  js  c++  java
  • ES6拓展运算符(...)用例

    1.找出数组中最大的数

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

    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.复制数组

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

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

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

    ES6使用扩展运算符

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

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

    3.插入数组

    如果我们要在一个数组插入另外一个数组的元素,可以结合splice和apply使用,如:

    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]
  • 相关阅读:
    Xshell添加快捷按钮
    Go语言基础之21--反射
    Jenkins自动化CI CD流水线之7--流水线自动化发布PHP项目
    Jenkins自动化CI CD流水线之6--构建邮件状态通知
    Jenkins自动化CI CD流水线之5--pipeline
    Python练习-函数(方法)的定义和应用
    Python文件操作-文件的增删改查
    Python练习-不知道弄个什么鬼
    Python练习-短小精干版三级"片儿"
    Python练习-三级菜单与"片儿"无关!
  • 原文地址:https://www.cnblogs.com/zl-light/p/11658834.html
Copyright © 2011-2022 走看看