示例代码如下:
const groupBy = (array, property) => { return array.reduce((acc, obj) => { const key = obj[property]; if (!acc[key]) { acc[key] = []; } acc[key].push(obj); return acc; }, {}); };
const data = [ { name: 'Alice', age: 25, gender: 'female' }, { name: 'Bob', age: 30, gender: 'male' }, { name: 'Charlie', age: 35, gender: 'male' }, { name: 'David', age: 40, gender: 'male' }, { name: 'Eva', age: 50, gender: 'female' } ];
const groupedData = groupBy(data, 'gender');
console.log(groupedData);
// Output: // { // female: [ // { name: 'Alice', age: 25, gender: 'female' }, // { name: 'Eva', age: 50, gender: 'female' } // ], // male: [ // { name: 'Bob', age: 30, gender: 'male' }, // { name: 'Charlie', age: 35, gender: 'male' }, // { name: 'David', age: 40, gender: 'male' } // ] // }
上一篇:按属性将列表项分组在一个对象中
下一篇:按属性将项目分类到数组中