对对象数组进行分组可以使用以下方法:
data
,其中每个对象都有一个属性category
,可以按照category
属性对数组进行分组:const data = [
{ name: 'A', category: 'fruit' },
{ name: 'B', category: 'fruit' },
{ name: 'C', category: 'vegetable' },
{ name: 'D', category: 'fruit' },
{ name: 'E', category: 'vegetable' }
];
const groupedData = data.reduce((result, obj) => {
if (!result[obj.category]) {
result[obj.category] = [];
}
result[obj.category].push(obj);
return result;
}, {});
console.log(groupedData);
输出结果为:
{
fruit: [
{ name: 'A', category: 'fruit' },
{ name: 'B', category: 'fruit' },
{ name: 'D', category: 'fruit' }
],
vegetable: [
{ name: 'C', category: 'vegetable' },
{ name: 'E', category: 'vegetable' }
]
}
groupBy()
函数可以用于对对象数组进行分组。使用前需要先安装和导入Lodash库。const _ = require('lodash');
const data = [
{ name: 'A', category: 'fruit' },
{ name: 'B', category: 'fruit' },
{ name: 'C', category: 'vegetable' },
{ name: 'D', category: 'fruit' },
{ name: 'E', category: 'vegetable' }
];
const groupedData = _.groupBy(data, 'category');
console.log(groupedData);
输出结果与前面的方法相同。
以上是对对象数组进行分组的两种常见方法。根据具体的需求和开发环境,选择适合的方法来实现分组功能。
领取专属 10元无门槛券
手把手带您无忧上云