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)

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);
添加回答
舉報