Je cherche une manière élégante de déterminer quel élément a l'occurrence la plus élevée (mode) dans un tableau JavaScript.
Par exemple, dans
['pear', 'apple', 'orange', 'apple']
l'élément 'apple'
est le plus fréquent.
Je cherche une manière élégante de déterminer quel élément a l'occurrence la plus élevée (mode) dans un tableau JavaScript.
Par exemple, dans
['pear', 'apple', 'orange', 'apple']
l'élément 'apple'
est le plus fréquent.
C'est juste le mode. Voici une solution rapide et non optimisée. Il devrait être 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;
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.