为了账号安全,请及时绑定邮箱和手机立即绑定

const isX=value=>value=>10;是什么意思

const isX=value=>value=>10;是什么意思

蛊毒传说 2019-03-14 18:15:08
const isX=value=>value=>10;let[...spraed]=[10,5,8,23,30];let filtered=spraed.filter(isX);console.log(filtered);const isX=value=>value=>10;是什么意思?let[...spraed]=[10,5,8,23,30];又是什么意思?
查看完整描述

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]


查看完整回答
反对 回复 2019-03-19
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

const isX=value=>value=>10; //箭头函数 console.log(isX(5)())  5

let[...spraed]=[10,5,8,23,30]; //解构赋值 console.log(spraed) [10,5,8,23,30]

解构赋值箭头函数


查看完整回答
反对 回复 2019-03-19
  • 2 回答
  • 0 关注
  • 527 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信