JavaScript中可以使用Array.prototype.reduce()方法对数组中的对象合并相同属性值。
该方法接受两个参数:一个回调函数和一个初始值,回调函数接受两个参数:累加器和数组中的当前值。在每次迭代中,累加器的值是回调函数的返回值。
以下是代码示例:
var arr = [
{ name: 'John', age: 21 },
{ name: 'Jane', age: 21 },
{ name: 'Jim', age: 22 }
var result = arr.reduce(function(acc, cur) {
if (!acc[cur.age]) {
acc[cur.age] = [];
acc[cur.age].push(cur.name);
return acc;
}, {});
console.log(result);
// Output: { 21: [ 'John', 'Jane' ], 22: [ 'Jim' ] }
在上面的代码中,我们使用reduce()方法对数组中的对象进行合并,并将相同年龄的人的名字存储在一个数组中。最后,我们获得了一个对象,该对象的键是年龄,值是名字数组。