Open In App

JavaScript Program to Find the Most Frequently Occurring Element in an Array

Last Updated : 03 Oct, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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.

Javascript




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.

Javascript




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.

Javascript




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


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads