字符串中出现频率第二高的字符 - JavaScript
javascriptweb developmentfront end technologyobject oriented programming
我们需要编写一个 JavaScript 函数,该函数接受一个字符串并返回字符串中出现次数第二多的字符。
假设以下是我们的字符串 −
const str = 'This string will be used to calculate frequency';
上面,出现频率第二高的字符是"e"。
示例
现在让我们看看完整的代码−
const str = 'This string will be used to calculate frequency'; const secondMostFrequent = str => { const strArr = str.split(''); const map = strArr.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(str));
输出
这将在控制台中产生以下输出 −
e