ऑब्जेक्ट्स के संग्रह को कम करने और मर्ज करने का सबसे अच्छा तरीका 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' }
]