版权声明:未经本人同意不得私自转载 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' ]