js groupby
时间: 2023-08-24 10:09:02 浏览: 37
在 JavaScript 中,没有内置的 `groupBy` 方法,但你可以使用一些技巧来实现类似的功能。一种常见的方法是使用 `reduce()` 方法来对数组进行分组。下面是一个示例:
```javascript
// 假设我们有一个包含对象的数组
const data = [
{ id: 1, category: 'A' },
{ id: 2, category: 'B' },
{ id: 3, category: 'A' },
{ id: 4, category: 'C' },
{ id: 5, category: 'B' }
];
// 使用 reduce() 方法进行分组
const groupedData = data.reduce((result, item) => {
// 检查结果中是否已存在该类别的数组
if (!result[item.category]) {
// 如果不存在,则创建一个新数组并添加到结果中
result[item.category] = [];
}
// 将当前对象添加到对应类别的数组中
result[item.category].push(item);
return result;
}, {});
console.log(groupedData);
```
这将输出以下结果:
```
{
A: [
{ id: 1, category: 'A' },
{ id: 3, category: 'A' }
],
B: [
{ id: 2, category: 'B' },
{ id: 5, category: 'B' }
],
C: [
{ id: 4, category: 'C' }
]
}
```
这样,你就可以根据对象的某个属性值将其分组起来。希望能对你有所帮助!如果有其他问题,请随时提问。