我正在寻找一种优雅的方法来确定哪个元素在 JavaScript 数组中出现次数最多 ( mode )。
例如,在
['pear', 'apple', 'orange', 'apple']
'apple'
元素是最常见的元素。
最佳答案
这只是模式。这是一个快速、未优化 的解决方案。应该是O(n)。
function mode(array)
{
if(array.length == 0)
return null;
var modeMap = {};
var maxEl = array[0], maxCount = 1;
for(var i = 0; i < array.length; i++)
{
var el = array[i];
if(modeMap[el] == null)
modeMap[el] = 1;
else
modeMap[el]++;
if(modeMap[el] > maxCount)
{
maxEl = el;
maxCount = modeMap[el];
}
}
return maxEl;
}
关于javascript - 获取数组中出现次数最多的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1053843/