我的代码:constcountBy=(arr,fn)=>arr.map(val=>(typeoffn==='function'?fn(val):val[fn]))高手的代码:constcountBy=(arr,fn)=>arr.map(typeoffn==='function'?fn:val=>val[fn])测试代码:console.log(countBy([1,2,3,4,5,6],a=>a%3))console.log(countBy([6.8,4.2,6.1],Math.floor))console.log(countBy(['one','two','three'],'length'))发现居然是等效的!那高手的typeoffn==='function'?fn:val=>val[fn]这句怎么理解?如果fn是函数,val[fn]有意义吗?箭头函数前面不传入val,箭头后面居然也能用val!
萧十郎
Cats萌萌
相关分类