js list 分组
时间: 2023-09-12 21:10:13 浏览: 56
你可以使用 JavaScript 中的 reduce 方法来对数组进行分组。以下是一个示例代码,将一个数组按照指定的键进行分组:
```javascript
const list = [
{ id: 1, name: 'John', age: 30, group: 'A' },
{ id: 2, name: 'Jane', age: 25, group: 'B' },
{ id: 3, name: 'Bob', age: 40, group: 'A' },
{ id: 4, name: 'Mary', age: 35, group: 'B' },
{ id: 5, name: 'Mike', age: 20, group: 'C' }
];
const grouped = list.reduce((acc, cur) => {
const key = cur.group;
if (!acc[key]) {
acc[key] = [];
}
acc[key].push(cur);
return acc;
}, {});
console.log(grouped);
// Output:
// {
// A: [
// { id: 1, name: 'John', age: 30, group: 'A' },
// { id: 3, name: 'Bob', age: 40, group: 'A' }
// ],
// B: [
// { id: 2, name: 'Jane', age: 25, group: 'B' },
// { id: 4, name: 'Mary', age: 35, group: 'B' }
// ],
// C: [
// { id: 5, name: 'Mike', age: 20, group: 'C' }
// ]
// }
```
在上述代码中,我们首先定义了一个包含对象的数组 `list`。然后我们使用 reduce 方法来遍历数组,对每个元素进行分组。在每次迭代中,我们检查当前元素的 `group` 属性是否存在于累加器对象 `acc` 中。如果不存在,则创建一个新的数组,并将当前元素推入该数组中。最后,我们返回累加器对象 `acc`,其中包含了按照 `group` 属性分组后的数组。