可以使用JavaScript的reduce和map方法来实现。具体步骤如下:
代码示例:
const arr = [ {name: 'Tom', age: 20}, {name: 'Jerry', age: 22}, {name: 'Ken', age: 20}, {name: 'Alice', age: 22}, {name: 'Bob', age: 20} ];
const groupByAge = arr.reduce((acc, obj) => { const key = obj.age.toString();
if (!acc[key]) { acc[key] = []; }
acc[key].push(obj); return acc; }, {});
const result = Object.keys(groupByAge).map((key) => { return { age: key, count: groupByAge[key].length, persons: groupByAge[key] }; });
console.log(result); // 输出结果: // [ // {age: '20', count: 3, persons: [ // {name: 'Tom', age: 20}, // {name: 'Ken', age: 20}, // {name: 'Bob', age: 20} // ]}, // {age: '22', count: 2, persons: [ // {name: 'Jerry', age: 22}, // {name: 'Alice', age: 22} // ]} // ]
上一篇:按对象属性拆分对象列表
下一篇:按对象属性分组