zoukankan      html  css  js  c++  java
  • es6之剩余和扩展参数

    剩余参数(将多个东西合并成一个数组):

    1.应用场景一:假设我们有这么一组数据,将第一个值赋值给班主任变量,第二个值赋值给班长变量,剩下的归为学生

    这时我们就可以使用剩余参数...

        const team = ["班主任","班长","同学1","同学2","同学3"]
        const [boss,monitor,students] = team
        console.log(boss,monitor,students)  //班主任 班长 同学1
        const [boss,monitor,...students] = team
        console.log(boss,monitor,students)  //班主任 班长 (3) ["同学1", "同学2", "同学3"]

    2.应用场景二:将传入的多个数字进行排序(因为传入的参数个数是不确定的,所以剩余参数就派上用场了)

        // ...nums不管你传入了多少个参数,都放到nums数组中
        function sortNums(...nums){
          if(nums.length === 0) {
            return []
          }else{
            //js的sort是有问题的,需要改造一下 正序排列a-b,倒序排列b-a
            return nums.sort((a,b) =>  a - b )
          }
        }
        console.log(sortNums(1,2,10))   //(3) [1, 2, 10]

    扩展参数(将一个数组打散):

    1.应用场景一:将班主任、班长、学生数组合并成一个数组

        const boss = "班主任"
        const monitor = "班长"
        const students = ["同学1","同学2","同学3"]
        const team = [boss,monitor,...students]
        console.log(team)    //["班主任", "班长", "同学1", "同学2", "同学3"]

    2.应用场景二:将两个数组合并为一个数组

        const food = ["香辣鸡腿堡","墨西哥鸡肉卷","香辣烤翅"]
        const drink = ["百事可乐","橙汁"]
        // concat方法
        // const kfc = food.concat(drink)
        // console.log(kfc)  //(5) ["香辣鸡腿堡", "墨西哥鸡肉卷", "香辣烤翅", "百事可乐", "橙汁"]
        const kfc = [...food,...drink]
        console.log(kfc)  //(5) ["香辣鸡腿堡", "墨西哥鸡肉卷", "香辣烤翅", "百事可乐", "橙汁"]

    还可以在新生成的数组中添加数据:

      const kfc = [...food,"圣代","吗媞娜",...drink]
        console.log(kfc)  //(5) ["香辣鸡腿堡", "墨西哥鸡肉卷", "香辣烤翅", "百事可乐", "橙汁"]
  • 相关阅读:
    我的公众号:WebHub
    The Qt Resource System
    Node.js Streams:你需要知道的一切
    2019春招前端面试预测题!
    BeamNG.drive物理引擎评鉴
    EcmaScript对象克隆之谜
    死锁与囚徒困境的辩证关系
    停止学习框架
    qt5android
    opencvKmeans图像分割根据颜色
  • 原文地址:https://www.cnblogs.com/yaya-003/p/12773097.html
Copyright © 2011-2022 走看看