私は以下の答えで関数を勉強していました:
しかし、それがうまくいかないのを見て悲しいです(repl.itで)。13 行目でどのようにインクリメントしようとしても、すべての値が NaN になってしまいます。何が問題なのですか?
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] = modeMap[el] + 1;
if(modeMap[el] > maxCount)
{
maxEl = el;
maxCount = modeMap[el];
}
}
console.log(modeMap)
return maxEl;
}
mode([4,2,6,2,6,6,6,6,]);