減少和合並物件集合的最佳方法是什麼——JavaScript?


減少和合並物件集合的最佳方法是:使用 Object.values() 的概念結合 reduce()。

以下是物件:

var details = [
   { studentId: 10, marks: 75, studentName: "John" },
   { studentId: 10, marks: 75, studentName: "John" },
   { studentId: 11, marks: 98, studentName: "Bob" }
];

示例

以下是減少和合並的程式碼:

var details = [
   { studentId: 10, marks: 75, studentName: "John" },
   { studentId: 10, marks: 75, studentName: "John" },
   { studentId: 11, marks: 98, studentName: "Bob" }
];
output = Object.values(details.reduce((value, object) => {
   if (value[object.studentId]) {
      ['marks'].forEach(key => value[object.studentId][key] = value[object.studentId][key] + object[key]);
      } else {
         value[object.studentId] = { ...object };
   }
   return value;
}, {}));
console.log(output);

要執行以上程式,請使用以下命令:

node fileName.js.

此處,我的檔名是demo237.js。

輸出

輸出如下所示:

PS C:\Users\Amit\javascript-code> node demo237.js
[
   { studentId: 10, marks: 150, studentName: 'John' },
   { studentId: 11, marks: 98, studentName: 'Bob' }
]

更新於: 03-Oct-2020

618 次閱讀

開啟你的 職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.