在数组中查找第二位最频繁的字符 - 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 次浏览

开始您的 职业生涯

完成课程以获得认证

开始
广告