spread operator 展开运算符

版权声明:未经本人同意不得私自转载 https://blog.csdn.net/qq_40190624/article/details/82717262

spread operator 展开运算符,

* 优势,更快更便捷的操作数组,可以多数组操作

/**

 * 未优化的数组方法
 */
    function addNumbers(a,v,b,d,f,s){
        let  numbers = [a,v,b,d,f,s];
        return numbers.reduce((sum,number) => {
            return sum + number;
        },0)
    }
    console.log(1,2,3,4,5)

 优化后:展开运算符为...

    function addNumbers(...numbers){
        return numbers.reduce((sum,number) => {
            return sum + number;
        },0)
    }
    console.log(addNumbers(1,2,1,3,5,))//12

传的实参会全都用...代替进去;

  var defaultColor = ["red","greed"];
    var favoriteColors = ['orange','yellow'];
    // concat 合并数组 
    //defaultColors = defaultColor.concat(favoriteColors);
    //console.log(defaultColors)//[ 'red', 'greed', 'orange', 'yellow' ]
    // 用展示运算符实现合并数组方式

    console.log([...defaultColor,...favoriteColors])

    // 也可以Push额外的数据
    console.log(["xcdd",...defaultColor,...favoriteColors])

 练习,如一个库存,把没有的东西push进去;

/**
     * 练习,如一个库存,把没有的东西push进去;
     */
    function validateShoppingList(...items){
        if(items.indexOf('milk') < 0 ){
            return ['milk',...items];
        }
        return items;
    }
    console.log(validateShoppingList('orange',"bread"))

//[ 'milk', 'orange', 'bread' ]

猜你喜欢

转载自blog.csdn.net/qq_40190624/article/details/82717262
今日推荐