Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm ra giá trị cao nhất thông qua vòng lặp for - JavaScript

Giả sử, chúng ta có một chuỗi phân cách bằng dấu phẩy chứa một số tên trái cây như sau -

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';

Chúng tôi được yêu cầu viết một hàm JavaScript có trong một chuỗi như vậy và sử dụng vòng lặp for in để tìm ra tên trái cây xuất hiện với số lần lớn nhất trong chuỗi.

Hàm sẽ trả về chuỗi trái cây xuất hiện trong hầu hết các số lần.

Ví dụ

Sau đây là mã -

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));

Đầu ra

Điều này sẽ tạo ra kết quả sau trong bảng điều khiển -

Banana