JS 中通过 .reduce 计算某个元素在数组中出现的次数

问题描述 投票:0回答:1

我是 JS 新手。我陷入了.reduce... 我想计算数组中特定元素的出现次数,我可以通过“for”循环来完成它,但我无法通过reduce来完成它。非常感谢您的帮助。

let array=[1,2,3,4,5,6,7,1,2,3,1,2,3,1,2,3,3,3,3,3,4,98,-546,4]
结果应该是 1 -> 4 次; 2 -> 4 次等等..

如何在reduce高阶函数中做到这一点?

javascript arrays reduce
1个回答
0
投票

这样就可以了:

let occurenciesMap = array.reduce((acc, curr) => {
    if (!acc[curr]) acc[curr] = 0; // As default start to count from 0
    acc[curr] += 1;
    return acc;
}, {})

退货:

{
  '1': 4,
  '2': 4,
  '3': 8,
  '4': 3,
  '5': 1,
  '6': 1,
  '7': 1,
  '98': 1,
  '-546': 1
}
© www.soinside.com 2019 - 2024. All rights reserved.