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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

處理對象數(shù)組

處理對象數(shù)組

慕慕森 2022-07-08 17:03:38
我有這個代碼,"data": [    {        "pid": 1,        "status": "done",        "title": "a"    },    {        "pid": 1,        "status": "pending",        "title": "a"    },    {        "pid": 1,        "status": "pending",        "title": "21"    },    {        "pid": 2,        "status": "pending",        "title": "c"    }]我正在嘗試像這樣處理它"data": [    {        "pid": 1,        "done": 1,        "pending":2    },    {        "pid": 2,        "done": 0,        "pending":1    }]我已經(jīng)嘗試了很多來產(chǎn)生我想要的結果,但沒有運氣,現(xiàn)在我在這里發(fā)布以獲得一些幫助。
查看完整描述

1 回答

?
守著一只汪

TA貢獻1872條經(jīng)驗 獲得超4個贊

您應該能夠為此目的使用Array.reduce 。


我們創(chuàng)建一個映射,以 pid 為鍵,然后為每個已完成或待處理的對象加 1。 然后Object.values會再次將此映射轉換為數(shù)組。我希望這可以幫助你!


data = [

    {

        "pid": 1,

        "status": "done",

        "title": "a"

    },

    {

        "pid": 1,

        "status": "pending",

        "title": "a"

    },

    {

        "pid": 1,

        "status": "pending",

        "title": "21"

    },

    {

        "pid": 2,

        "status": "pending",

        "title": "c"

    }

]


let result = Object.values(data.reduce( (map, d) => {

    if (!map[d.pid]) map[d.pid] = { pid: d.pid, done: 0, pending: 0 };

    if (d.status === "done") map[d.pid].done++;

    if (d.status === "pending") map[d.pid].pending++;

    return map;

}, {} ));


console.log("Result:", result);


查看完整回答
反對 回復 2022-07-08
  • 1 回答
  • 0 關注
  • 109 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號