বস্তুর সংগ্রহ কমাতে এবং একত্রিত করার সর্বোত্তম উপায়, reduce() এর সাথে Object.values() ধারণাটি ব্যবহার করুন।
নিম্নলিখিত অবজেক্ট -
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' } ]