1. 程式人生 > 實用技巧 >js運算元組根據key值去做操作(應用層面)

js運算元組根據key值去做操作(應用層面)

前端在處理後臺返回的介面同時,可能也會在功能中對資料進行操作。在實際開發中可能出現比較常見的一類就是歸類或者歸併。

如需要合併所有KEY值相同的的值,或者說累計相同KEY值所以在實際開發層面,在沒有找到更好的辦法之前我們想到的最多是for迴圈巢狀

for迴圈進行歸類,但是那樣既不高效,可讀性又差,所以我用reduce函式進行了縮減操作。如下

   //模擬一二用到的變數
    const data=[{
        '2019-02-03':1
    },{
        '2019-01-01':34
    },{
        '2019-02-03':12
    },{
        '2019-01-01':31
    },{
        
'2019-03-01':5 }]; //模擬一 : 總結所有日期出現的次數如果有則疊加次數 letnew_data_one=data.reduce((v,i)=>Object.assign(v,v[Object.keys(i)[0]]?++v[Object.keys(i)[0]]:v[Object.keys(i)[0]]=1),{}); console.log(new_data_one,'事例一'); //模擬二 : 總結所有日期出現的值如果有則疊加值 letnew_data_two=data.reduce((v,i)=>Object.assign(v,v[Object.keys(i)[0]]?v[Object.keys(i)[0]]=Object.values(i)[0]+v[Object.keys(i)[0]]:v[Object.keys(i)[0]]=Object.values(i)[0]),{}); console.log(new_data_two,
'事例二');

效果如下: