在陣列中查詢第二位最頻繁的字元 - 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

更新於: 14-Sep-2020

533 次瀏覽

開始您的 職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.