获取数组中出现次数最多的项 JavaScript
javascriptweb developmentobject oriented programming更新于 2025/9/30 1:48:17
假设,我们需要编写一个函数,该函数接受一个字符串/数字文字数组并返回出现次数最多的项的索引。我们将遍历该数组并准备一个频率图,然后从该图中返回出现次数最多的项的索引。
执行此操作的代码将是 −
示例
const arr1 = [12, 5, 6, 76, 23, 12, 34, 5, 23, 34, 65, 34, 22, 67, 34];
const arr2 = [12, 5, 6, 76, 23, 12, 34, 5, 23, 34];
const mostAppearances = (arr) => {
const frequencyMap = {};
arr.forEach(el => {
if(frequencyMap[el]){
frequencyMap[el]++;
}else{
frequencyMap[el] = 1;
};
});
let highest, frequency = 0;
Object.keys(frequencyMap).forEach(key => {
if(frequencyMap[key] > frequency){
highest = parseInt(key, 10);
frequency = frequencyMap[key];
};
});
return arr.indexOf(highest);
};
console.log(mostAppearances(arr1));
console.log(mostAppearances(arr2));
输出
控制台中的输出将是 −
6 1
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

