在陣列中查詢第二位最頻繁的字元 - JavaScript
我們要求編寫一個 JavaScript 函式,該函式接收一個字串,並返回從字串中出現第二位的字元。
假設我們的陣列如下所示 −
const arr = [1, 34, 4, 3, 2, 1, 4, 6, 4, 6, 5, 3, 6, 6];
那麼,頻繁出現的字元是 −
6
但我們希望輸出為第二位最頻繁的字元,即。
4
讓我們為此函式編寫程式碼 −
示例
const arr = [1, 34, 4, 3, 2, 1, 4, 6, 4, 6, 5, 3, 6, 6];
const secondMostFrequent = arr => {
const map = arr.reduce((acc, val) => {
if(acc.has(val)){
acc.set(val, acc.get(val) + 1);
}else{
acc.set(val, 1);
};
return acc;
}, new Map);
const frequencyArray = Array.from(map);
return frequencyArray.sort((a, b) => {
return b[1] - a[1];
})[1][0];
};
console.log(secondMostFrequent(arr));輸出
以下是控制檯中的輸出 −
4
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP