获取数组中出现次数最多的元素

我正在寻找一种确定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

回到顶部