你可以使用JavaScript的reduce方法来按属性名称对数组进行分组,并计算每组的数量。以下是一个示例代码:
const data = [
{ name: 'apple', color: 'red' },
{ name: 'banana', color: 'yellow' },
{ name: 'cherry', color: 'red' },
{ name: 'date', color: 'brown' },
{ name: 'elderberry', color: 'purple' },
{ name: 'fig', color: 'green' },
{ name: 'grape', color: 'purple' },
{ name: 'honeydew', color: 'green' }
];
const groupedData = data.reduce((acc, obj) => {
const key = obj.color;
if (!acc[key]) {
acc[key] = 0;
}
acc[key] += 1;
return acc;
}, {});
console.log(groupedData);
运行以上代码,会输出以下结果:
{
red: 2,
yellow: 1,
brown: 1,
purple: 2,
green: 2
}
以上代码中,我们使用reduce方法来遍历数组中的每个对象。对于每个对象,我们提取其中的color属性作为分组键(key)。如果分组键不存在于累加器(acc)对象中,我们将其初始化为0。然后,我们将每个分组键的数量加1。最后,我们返回累加器对象作为reduce方法的结果。
这样,我们就成功地按照属性名称对数组进行了分组,并计算了每组的数量。
下一篇:按属性名称汇总数组的值