Open In App

JavaScript Program to Find the Most Frequent Element in an Array

Last Updated : 20 Sep, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will demonstrate different methods to find the most frequent element in an array in JavaScript. We will be given an array with multiple occurrences of values in that array and we have to output the maximum occurred element in that array.

Methods to Find the most frequent element in an array in JavaScript

  • Naive method using loops and sort function
  • Using JavaScript Object
  • Using JavaScript Map

Method 1: Naive method using Loops and Sort function

In this method, we will sort the given array and traverse it to find the maximum occurred element.

Example:

Javascript




arr = [
    1, 1, 3, 5, 7, 6, 8, 5, 6, 4,
    7, 6, 0, 2, 1, 6, 8, 9, 5,
];
  
arr.sort((a, b) => a - b);
//console.log(arr)
let count = 1,
    max = 0,
    el;
  
for (let i = 1; i < arr.length; ++i) {
    if (arr[i] === arr[i - 1]) {
        count++;
    } else {
        count = 1;
    }
    if (count > max) {
        max = count;
        el = arr[i];
    }
}
console.log("The most occured element is: " + el);


Output

The most occured element is: 6

Method 2: Using JavaScript Object

In this approach we will use JavaScript object to store the number and their occurences and find the element occurred most frequently.

Example:

Javascript




const arr = [
    1, 1, 3, 5, 7, 6, 8, 5, 6, 4,
    7, 6, 0, 2, 1, 6, 8, 9, 5,
];
  
obj = {};
let el,
    max = 0;
for (let i = 0; i < arr.length; i++) {
    if (!obj[arr[i]]) obj[arr[i]] = 1;
    else obj[arr[i]]++;
}
  
for (const i in obj) {
    if (max < obj[i]) {
        max = obj[i];
        el = i;
    }
}
  
console.log("The most occured element is: " + el);


Output

The most occured element is: 6

Method 3: Using JavaScript Map and forEach method

In this method, we will use JavaScript Map to map the values with number of occurrences and print the maximum occurred element

Example:

Javascript




const arr = [
    3, 5, 7, 6, 8, 5, 6, 4, 7, 1, 
    6, 0, 2, 1, 6, 8, 9, 5, 1,
];
  
let m = new Map();
  
for (const i in arr) {
    if (!m.get(arr[i])) m.set(arr[i], 1);
    else {
        m.set(arr[i], m.get(arr[i]) + 1);
    }
}
let max = 0;
let el;
m.forEach((val, key, map) => {
    if (max < val) {
        max = val;
        el = key;
    }
});
console.log("The most occured element is: " + el);


Output

The most occured element is: 6


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads