透過 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

更新時間: 30-9 月-2020

81 次觀看

開啟你的 職業生涯

完成教程獲得認證

開始
廣告