Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm giá trị xuất hiện nhiều nhất qua vòng lặp for...in - JavaScript


Giả sử chúng ta có chuỗi phân cách bằng dấu phẩy chứa tên trái cây:

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 ta cần viết hàm nhận vào chuỗi này và dùng vòng lặp for...in để tìm tên trái cây xuất hiện nhiều nhất.

Ví dụ

Dưới đây là đoạn code:

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

Kết quả

Đoạn code sẽ in ra console:

Banana