Open In App

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:



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

Article Tags :