可以使用JavaScript中的reduce()和Object.values()方法来解决这个问题。下面是一个示例代码:
const data = [ { name: 'John', age: 25, city: 'New York' }, { name: 'Jane', age: 28, city: 'Paris' }, { name: 'Bob', age: 25, city: 'New York' }, { name: 'Sara', age: 30, city: 'London' }, { name: 'Mike', age: 28, city: 'Paris' }, { name: 'Tom', age: 30, city: 'London' }, ];
const result = data.reduce((acc, obj) => { const key = obj.city; if (!acc[key]) { acc[key] = { city: key, count: 0, totalAge: 0 }; } acc[key].count++; acc[key].totalAge += obj.age; return acc; }, {});
const groupedData = Object.values(result);
console.log(groupedData);
在这个示例中,我们使用reduce()方法来遍历对象数组并累计每个城市的人数和总年龄。然后,我们将结果存储在一个对象中,并使用Object.values()方法将其转换为数组。输出的结果将包含每个城市的人数和平均年龄。
上一篇:遍历对象数组并更新属性
下一篇:遍历对象数组并根据属性进行筛选