阿波罗的战车
你这个代码是打错了吗?let [...spraed]=[10,5,8,23,30]; 这里这样用多此一举这样写的好处是引用类型的第一层会按值复制//第一层按值赋值 但如果是二层以上还是引用 []let arr = [10,5]; // 2层 [{name:"li"}]let [...spraed] = arr;spraed[0] = 1 //2层 spraed[0].name = 1 console.log(arr);//[10,5] //2层 [{name:1}]console.log(spraed);//[1,5] //2层 [{name:1}]const isX=value=>value==10;let spraed=[10,5,8,23,30];let filtered=spraed.filter(isX);console.log(filtered);v=>v 箭头函数 -> function(v){return v};... 扩展运算符 let a = [a,b,c]; ...a -> a,b,c 所以 [...a] -> [a,b,c]扩展运算符常用于函数function func(a,b,c){console.log(a,b,c)};func(...[1,2,3]);//1,2,3function func(...arg){console.log(arg)};func(1,2,3);//[1,2,3]//剩余参数function func(a,...arg){console.log(a,arg)};func(1,2,3);//1,[2,3]