,可以通过以下步骤实现:
以下是一个示例代码,用于对特定属性具有相同值的元素进行计数,并将结果放入对象数组中:
function countElementsWithSameValue(elements, property) {
var countArray = [];
elements.forEach(function(element) {
var value = element[property];
var existingObject = countArray.find(function(obj) {
return obj[property] === value;
});
if (existingObject) {
existingObject.count++;
} else {
var newObject = {};
newObject[property] = value;
newObject.count = 1;
countArray.push(newObject);
}
});
return countArray;
}
// 示例用法
var elements = [
{ name: 'A', category: 'X' },
{ name: 'B', category: 'Y' },
{ name: 'C', category: 'X' },
{ name: 'D', category: 'Z' },
{ name: 'E', category: 'X' },
{ name: 'F', category: 'Y' },
{ name: 'G', category: 'Z' },
{ name: 'H', category: 'X' }
];
var result = countElementsWithSameValue(elements, 'category');
console.log(result);
在上述示例中,我们对元素列表进行了计数,根据元素的category
属性值进行分组,并将结果放入对象数组countArray
中。最后输出的结果为:
[
{ category: 'X', count: 4 },
{ category: 'Y', count: 2 },
{ category: 'Z', count: 2 }
]
这表示在给定的元素列表中,category
属性值为'X'的元素有4个,'Y'的有2个,'Z'的有2个。
领取专属 10元无门槛券
手把手带您无忧上云