获取数组中出现次数最多的元素
我正在寻找一种确定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;
}
以上是 获取数组中出现次数最多的元素 的全部内容, 来源链接: utcz.com/qa/423528.html