通过 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 函数,它接受一个这样的字符串并使用 for in 循环找出在字符串中出现次数最多的水果名称。
该函数应该返回出现次数最多的水果字符串。
举例
以下是代码 −
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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP