减少和合并对象集合的最佳方法是什么——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' } ]
广告