@yetnt/ump
Version:
A very useless math package for your complex javascript projects
34 lines • 956 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.mode = void 0;
/**
* Find the most recurring number
* @param arr Array of numbers
*/
function mode(arr) {
const frequencyMap = new Map();
// Count the frequency of each element in the array
for (const element of arr) {
if (frequencyMap.has(element)) {
frequencyMap.set(element, frequencyMap.get(element) + 1);
}
else {
frequencyMap.set(element, 1);
}
}
let maxFrequency = 0;
let modes = [];
// Find the element(s) with the maximum frequency
for (const [element, frequency] of frequencyMap) {
if (frequency > maxFrequency) {
maxFrequency = frequency;
modes = [element];
}
else if (frequency === maxFrequency) {
modes.push(element);
}
}
return modes;
}
exports.mode = mode;
//# sourceMappingURL=Mode.js.map