可以通过以下步骤完成:
这个问题可以用以下代码解决(JavaScript语言):
function countSameValues(arr) {
const counter = {}; // 创建一个空对象作为计数器
for (let i = 0; i < arr.length; i++) {
const value = arr[i]; // 获取当前对象的值
// 如果计数器中已经存在该值的键,则将该键对应的值加1;否则,在计数器中创建新的键,并将值初始化为1。
if (counter[value]) {
counter[value] += 1;
} else {
counter[value] = 1;
}
}
return counter; // 返回计数器对象
}
const objArray = [
{ id: 1, value: 'apple' },
{ id: 2, value: 'banana' },
{ id: 3, value: 'apple' },
{ id: 4, value: 'orange' },
{ id: 5, value: 'banana' },
];
const result = countSameValues(objArray);
console.log(result);
上述代码中,我们使用了一个空对象counter
作为计数器,遍历对象数组objArray
,对于数组中的每个对象,将其值作为键,并将计数器中对应的值加1。最后,返回计数器对象counter
。以上述代码为例,输出结果为:
{
apple: 2,
banana: 2,
orange: 1
}
该结果表示在对象数组中,值为apple
的对象出现了2次,值为banana
的对象也出现了2次,值为orange
的对象出现了1次。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云