We are required to write a JavaScript function that takes in an array of literals. The function should return the element that appears for second most number of times in the array.
For example −
If the input array is −
const arr = [2, 5, 4, 3, 2, 6, 5, 5, 7, 2, 5];
Then the output should be −
const output = 2;
Example
const arr = [2, 5, 4, 3, 2, 6, 5, 5, 7, 2, 5];
const findSecondMost = (arr = []) => {
const map={};
arr.forEach(el => {
if(map.hasOwnProperty(el)){
map[el]++; }else{ map[el] = 1;
}
})
const sorted = Object.keys(map).sort((a,b) => map[b]-map[a]);
return sorted[1];
};
console.log(findSecondMost(arr));Output
And the output in the console will be −
2