第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

關(guān)于一個(gè)分組統(tǒng)計(jì)的函數(shù)

關(guān)于一個(gè)分組統(tǒng)計(jì)的函數(shù)

慕碼人8056858 2019-05-09 09:45:36
constcountBy=(arr,fn)=>arr.map(typeoffn==='function'?fn:val=>val[fn]).reduce((acc,val,i)=>{acc[val]=(acc[val]||0)+1;returnacc;},{});countBy([6.1,4.2,6.3],Math.floor);//{4:1,6:2}countBy(['one','two','three'],'length');//{3:2,5:1}我的疑問是map里面是怎么運(yùn)行,arr.map()主要是這個(gè)三元表達(dá)式結(jié)果是應(yīng)該是進(jìn)入fn,而不是后面的reduce求大佬著重解釋下這個(gè)
查看完整描述

2 回答

?
長(zhǎng)風(fēng)秋雁

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊

constcountBy=(arr,fn)=>{
//判斷fn是否為函數(shù),如果是函數(shù)tempFn=fn,如果不是函數(shù)tempFn=val=>val[fn]
consttempFn=typeoffn==='function'?fn:val=>val[fn]
//consttempFn=typeoffn==='function'?fn:(val=>val[fn])
consttempArr=arr.map(tempFn)
//遍歷tempArr統(tǒng)計(jì)相同的元素個(gè)數(shù)
returntempArr.reduce((acc,val,i)=>{
acc[val]=(acc[val]||0)+1;
returnacc;
},{});
}
countBy([6.1,4.2,6.3],Math.floor);
//tempFn=Math.floor
//tempArr=arr.map(tempFn)//tempArr=[6,4,6]
//使用reduce統(tǒng)計(jì)相同元素個(gè)數(shù){6:2,4:1}
countBy(['one','two','three'],'length');
//tempFn=val=>val['length']
//tempArr=arr.map(tempFn)//tempArr=[3,3,5]
//使用reduce統(tǒng)計(jì)相同元素個(gè)數(shù){3:2,5:1}
                            
查看完整回答
反對(duì) 回復(fù) 2019-05-09
?
開心每一天1111

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊

array.map接收一個(gè)函數(shù)作為參數(shù),返回值為一個(gè)新數(shù)組,新數(shù)組里面的每一項(xiàng)是原array經(jīng)過函數(shù)處理后的返回值。map里面,fn是函數(shù)的話就是fn(array[i]),不是函數(shù)就返回array[i].length
                            
查看完整回答
反對(duì) 回復(fù) 2019-05-09
  • 2 回答
  • 0 關(guān)注
  • 333 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)