Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การหาค่าสูงสุดผ่าน for in loop - 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 loop เพื่อหาชื่อผลไม้ที่ปรากฏเป็นจำนวนครั้งที่มากที่สุดในสตริง

ฟังก์ชันควรส่งคืนสตริงผลไม้ที่ปรากฏเป็นจำนวนมากที่สุด

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

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