通过for in循环找出最高值-JavaScript
假设我们有一个逗号分隔符字符串,其中包含一些这样的水果名称:
const str = 'Banana,Banana,Pear,Orange,Apple,Melon,Grape,Apple,Banana,Grape,Melon,Grape,Melon,Apple,Grape,Banana,Orange,Melon,Orange,Banana,Banana,Orange,Pear,Grape,Orange,Orange,Apple,Apple,Banana';
我们需要编写一个JavaScript函数,该函数接受一个这样的字符串,并使用forin循环找出在字符串中出现次数最多的水果名称。
该函数应返回出现次数最多的水果串。
示例
以下是代码-
const str = 'Banana,Banana,Pear,Orange,Apple,Melon,Grape,Apple,Banana,Grape,Melon,Grap e,Melon,Apple,Grape,Banana,Orange,Melon,Orange,Banana,Banana,Orange,Pear,G rape,Orange,Orange,Apple,Apple,Banana'; const findMostFrequent = str => { const strArr = str.split(','); const creds = strArr.reduce((acc, val) => { if(acc.has(val)){ acc.set(val, acc.get(val) + 1); }else{ acc.set(val, 1); }; return acc; }, new Map()); return Array.from(creds).sort((a, b) => b[1] - a[1])[0][0]; }; console.log(findMostFrequent(str));
输出结果
这将在控制台中产生以下输出-
Banana