Computer >> Máy Tính >  >> Lập trình >> Javascript

Cách tốt nhất để giảm và hợp nhất một tập hợp các đối tượng - JavaScript là gì?

Cách tốt nhất để giảm và hợp nhất một tập hợp các đối tượng, hãy sử dụng khái niệm Object.values ​​() cùng với Reduce ().

Sau đây là đối tượng -

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

Ví dụ

Sau đây là mã để giảm và hợp nhất -

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);

Để chạy chương trình trên, hãy sử dụng lệnh sau -

node fileName.js.

Đây, tên tệp của tôi là demo237.js.

Đầu ra

Kết quả như sau -

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