Find Mode from Array
Finds the mode(s) from any given array
by LyndseyB
JavaScript
var methods = (function() {
var sortedNumbers = {},
highestNumber = 0,
mode = [];
function _sort(arr) {
arr.forEach(function(n) {
sortedNumbers[n] = (sortedNumbers[n] || 0) + 1;
});
return sortedNumbers;
}
function findMode(numbers) {
sortedNumbers = _sort(numbers);
for(var number in sortedNumbers) {
if(sortedNumbers[number] > highestNumber) {
mode = [];
mode.push(number);
highestNumber = sortedNumbers[number];
} else if(sortedNumbers[number] === highestNumber) {
mode.push(number);
}
}
return mode;
}
return {
findMode : findMode
}
})();
console.log(methods.findMode([6, 1, 4, 4, 3, 1, 4, 3, 6, 6, 7]));