在数组JavaScript中获得最大的重复项
我们有一个数字/字符串文字数组,其中包含一些值(有些也是重复的)。我们的工作是编写一个函数,该函数从数组中返回出现次数最多的元素。
例如-如果输入数组是-
const input = ['a', 'v', 'k', 'f', 'a', 'f', 's', 'd', 'd', 'f', 'a', 'j', 'a'];
那么输出应该是-
'a'
因为“a”被重复最多次数
因此,让我们为此编写代码。我们将使用aMap()来跟踪遇到的所有元素及其计数,最后返回具有最大计数的元素,如下所示:
示例
const input = ['m', 'a', 'v', 'k', 'f', 'a', 'f', 's', 'd', 'd', 'f', 'a',
'j', 'a'];
const findMaximum = arr => {
const map = arr.reduce((acc, val) => {
let count = acc.get(val);
if(count){
acc.set(val, ++count);
} else {
acc.set(val, 1);
};
return acc;
}, new Map());
return Array.from(map).reduce((acc, val) => {
if(val[1] > acc[1]){
return val;
};
return acc;
}, [0, 0])[0];
};
console.log(findMaximum(input));输出结果
控制台中的输出将为-
a
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短