สมมติว่าเรามีสตริงคั่นด้วยจุลภาคที่มีชื่อผลไม้:
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';
เราต้องเขียนฟังก์ชันที่รับสตริงแบบนี้และใช้ for...in loop หาชื่อผลไม้ที่ปรากฏมากที่สุด
ตัวอย่าง
โค้ดต่อไปนี้เป็นตัวอย่าง:
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';
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