我的代碼:constcountBy=(arr,fn)=>arr.map(val=>(typeoffn==='function'?fn(val):val[fn]))高手的代碼:constcountBy=(arr,fn)=>arr.map(typeoffn==='function'?fn:val=>val[fn])測(cè)試代碼: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'))發(fā)現(xiàn)居然是等效的!那高手的typeoffn==='function'?fn:val=>val[fn]這句怎么理解?如果fn是函數(shù),val[fn]有意義嗎?箭頭函數(shù)前面不傳入val,箭頭后面居然也能用val!
大佬們遇到過這個(gè)問題嗎?如何理解map中的三目運(yùn)算表達(dá)式
梵蒂岡之花
2019-10-31 10:31:31