JavaScript Program to Find the Most Frequently Occurring Element in an Array
In this article, we are going to learn how to find the most frequently occurring element in an array we can use objects to count the occurrences of each element in an array.
Methods to find the most frequently occurring element in an array in JavaScript:
Table of Content
- Method 1: Using the reduce() method
- Method 2: Using the JavaScript Map()
- Method 3: Using the Math.max method
- Method 4: Using sorting
Method 1: Using the reduce() method
To find the highest count of elements we can use the “reduce” method.
Example: This example shows the use of the above-explained approach.
function mostFrequentUsingReduce(arr) {
const counts = arr.reduce((acc, num) => {
acc[num] = (acc[num] || 0) + 1;
return acc;
}, {});
return Object.keys(counts).reduce((a, b) =>
(counts[a] > counts[b] ? a : b));
}
const array =
['Cat', 'Dog', 'Cat', 'Goat', 'Cow', 'Cat', ];
console.log(mostFrequentUsingReduce(array));
Output
Cat
Method 2: Using the JavaScript Map()
By using the “Map” Data Structure we can store the occurrence of elements in an array.
Example:This example shows the use of the above-explained approach.
function mostFrequentUsingMap(arr) {
const counts = new Map();
for (let num of arr) {
counts.set(num, (counts.get(num) || 0) + 1);
}
let mostFrequent;
let maxCount = 0;
counts.forEach((count, num) => {
if (count > maxCount) {
maxCount = count;
mostFrequent = num;
}
});
return mostFrequent;
}
const array = [1, 2, 2, 3, 2, 3, 4];
console.log(mostFrequentUsingMap(array));
Output
2
Method 3: Using the Math.max method
By using “Math.max” also we can find the highest frequency of given array elements.
Example: This example shows the use of the above-explained approach.
function mostFrequentUsingMathMax(arr) {
const counts = {};
for (let num of arr) {
counts[num] = (counts[num] || 0) + 1;
}
const maxCount =
Math.max(...Object.values(counts));
const mostFrequent =
Object.keys(counts).find(key =>
counts[key] === maxCount);
return mostFrequent;
}
const array = [1, 5, 2, 3, 5, 6, 4];
console.log(mostFrequentUsingMathMax(array));
Output
5
Method 4: Using sorting
This approach sorts the array, then iterates through it, counting consecutive occurrences of each element. It keeps track of the most frequent element encountered so far and updates it if a new element becomes more frequent. Finally, it returns the most frequent element found.
function mostFrequentUsingSorting(arr) {
arr.sort(); // Sort the array to group same elements together
let maxCount = 0;
let mostFrequent;
let currentCount = 1;
for (let i = 1; i < arr.length; i++) {
if (arr[i] === arr[i - 1]) {
currentCount++;
} else {
if (currentCount > maxCount) {
maxCount = currentCount;
mostFrequent = arr[i - 1];
}
currentCount = 1; // Reset current count
}
}
// Check for the last element
if (currentCount > maxCount) {
maxCount = currentCount;
mostFrequent = arr[arr.length - 1];
}
return mostFrequent;
}
// Example usage
const array = ['Cat', 'Dog', 'Cat', 'Goat', 'Cow', 'Cat'];
console.log(mostFrequentUsingSorting(array)); // Output: Cat
Output
Cat
Contact Us