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.

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

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.

JavaScript
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