2 回答
TA贡献1862条经验 获得超6个赞
你这个代码是打错了吗?
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,3
function 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]
添加回答
举报