reduce的妙用

泥鴿鴿發表於2020-11-09

reduce的妙用

語法

reduce是陣列的一個高階函式 說白了就是一個迴圈 只不過這個迴圈有在特定的場景下用的會比較方便些 這個特定環境就是累x 累x指的是累加 累乘 累除

  • 舉例:
 arr=[1,2,3,4]
 const sum=arr.reduce((pre,cru)=>{return pre+cur},0)

具體語法我不再贅述 可以看看這個作為參考

妙用

  • 場景:有一個物件陣列 每個物件有一個標識身份的id 當我們每次想取出某個id項的時候 正常情況下我們會遍歷這個陣列 然後取出 但是每次想要取出的時候都需要遍歷一遍 比較麻煩 解決思路是格式化這個物件陣列 把id作為一個新物件的屬性名稱 這樣每次取這個資料的時候只需要使用物件.屬性的方式就能實現 如:
[{id:56,name:'cmb'},{id:49,name:'zzc'},{id:006,name:'zym'}].reduce((j,k)=>{
j[k.id]=k
return j
},{})

經過這麼處理後 得到的結果是這樣的:
在這裡插入圖片描述
這樣的結果就是原來需要每次遍歷 對比id號才能取到對應的項 現在把這個id項作為一個物件的屬性 值變成就是原來的資料 之後再想要取這個資料只需要通過.屬性名即可

相關文章