可以使用reduce方法对数组进行迭代,将每个对象的键作为分组依据,将相同键的对象推入同一个数组中。示例如下:
const arr = [ { name: 'Alice', age: 23, city: 'London' }, { name: 'Bob', age: 26, city: 'Paris' }, { name: 'Charlie', age: 21, city: 'London' }, { name: 'Dave', age: 32, city: 'Paris' }, { name: 'Emma', age: 29, city: 'London' }, ];
const grouped = arr.reduce((acc, obj) => { const key = obj.city; if(!acc[key]) { acc[key] = []; } acc[key].push(obj); return acc; }, {});
console.log(grouped);
// 输出结果为: // { // London: [ // { name: 'Alice', age: 23, city: 'London' }, // { name: 'Charlie', age: 21, city: 'London' }, // { name: 'Emma', age: 29, city: 'London' } // ], // Paris: [ // { name: 'Bob', age: 26, city: 'Paris' }, // { name: 'Dave', age: 32, city: 'Paris' } // ] // }
上一篇:按对象键对数组进行排序
下一篇:按对象键合并对象数组