如何计算javascript数组中某个对象的出现次数,然后将其与该对象相关联。例如:
如果我的数组是:[4,5,5,4,5,3,3,5,4,3]
我将如何获得一个键/值对,该对将计算对象发生多少次以及对象是什么。所以我要寻找的输出是:{3:3, 4:3, 5:4}
表示3次发生3次,4次发生3次和5次发生4次。
答案 0 :(得分:2)
您可以使用Array.prototype.reduce()
遍历数组。函数中的累加器将是一个普通对象{}
,在每次迭代中,您只需检查数组的项是否是对象中的键:
const arr = [4,5,5,4,5,3,3,5,4,3];
const keyedArr = arr.reduce((accumulator, currentValue) => {
const key = currentValue.toString();
if (!(key in accumulator))
accumulator[key] = 1;
else
accumulator[key] += 1;
return accumulator;
}, {});
console.log(keyedArr);
答案 1 :(得分:1)
您可以使用npm start --dev=true
简洁地完成此操作:
reduce