亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

按字段值對數組進行分組并將分組值推送到數組中

按字段值對數組進行分組并將分組值推送到數組中

慕容森 2021-06-28 14:23:29
我有一個數組:let docArray = [     { documentID: 304717110, doublettenID: 111, done: true },  { documentID: 304717110, doublettenID: 222, done: true },  { documentID: 304717110, doublettenID: 333, done: true },  { documentID: 304717110, doublettenID: 444, done: true },  { documentID: 304717110, doublettenID: 555, done: true },  { documentID: 304717110, doublettenID: 666, done: true },  { documentID: 304862280, doublettenID: null, done: true },  { documentID: 304862281, doublettenID: null, done: true },  { documentID: 304933685, doublettenID: null, done: true },  { documentID: 304933871, doublettenID: null, done: true },  { documentID: 304933870, doublettenID: null, done: true },  { documentID: 304862282, doublettenID: null, done: true }   ]我想按 documentID 分組,并為每個不同的 documentID 創建一個對象,并將“doublettenID”字段值推送到每個對象的數組中。我怎樣才能輕松做到這一點?
查看完整描述

3 回答

?
呼如林

TA貢獻1798條經驗 獲得超3個贊

這是一種方法,我不確定這是否是您需要的對象格式。


let docArray = [ 

    { documentID: 304717110, doublettenID: 111, done: true },

  { documentID: 304717110, doublettenID: 222, done: true },

  { documentID: 304717110, doublettenID: 333, done: true },

  { documentID: 304717110, doublettenID: 444, done: true },

  { documentID: 304717110, doublettenID: 555, done: true },

  { documentID: 304717110, doublettenID: 666, done: true },

  { documentID: 304862280, doublettenID: null, done: true },

  { documentID: 304862281, doublettenID: null, done: true },

  { documentID: 304933685, doublettenID: null, done: true },

  { documentID: 304933871, doublettenID: null, done: true },

  { documentID: 304933870, doublettenID: null, done: true },

  { documentID: 304862282, doublettenID: null, done: true } 

  ]

  

  var ids = []

  var res = []

  

  docArray.forEach(doc => {   

    if (!ids.includes(doc.documentID)) {

        doc.doublettenID = [doc.doublettenID]

        res.push(doc)

      ids.push(doc.documentID)

    } else {

        res.find(d => doc.documentID = d.documentID).doublettenID.push(doc.doublettenID)

    }

 })

  

console.log(res)


查看完整回答
反對 回復 2021-07-01
?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

您可以遍歷它并將documentID用作鍵,然后推送到一個單獨的對象。


let docArray = [ 

  { documentID: 304717110, doublettenID: 111, done: true },

  { documentID: 304717110, doublettenID: 222, done: true },

  { documentID: 304717110, doublettenID: 333, done: true },

  { documentID: 304717110, doublettenID: 444, done: true },

  { documentID: 304717110, doublettenID: 555, done: true },

  { documentID: 304717110, doublettenID: 666, done: true },

  { documentID: 304862280, doublettenID: null, done: true },

  { documentID: 304862281, doublettenID: null, done: true },

  { documentID: 304933685, doublettenID: null, done: true },

  { documentID: 304933871, doublettenID: null, done: true },

  { documentID: 304933870, doublettenID: null, done: true },

  { documentID: 304862282, doublettenID: null, done: true } 

];

let groups = {};


docArray.forEach(entry => {

    if (!groups.hasOwnProperty(entry.documentID)) {

    groups[entry.documentID] = [];

    }


    groups[entry.documentID].push(entry.doublettenID);

});


console.log(groups);


查看完整回答
反對 回復 2021-07-01
  • 3 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號