เรามีอาร์เรย์ของตัวอักษร Number / String ที่มีค่าบางค่า (บางค่าซ้ำกันเช่นกัน) งานของเราคือการเขียนฟังก์ชันที่ส่งคืนองค์ประกอบจากอาร์เรย์ซึ่งปรากฏเป็นจำนวนครั้งมากที่สุดในอาร์เรย์
ตัวอย่างเช่น − หากอาร์เรย์อินพุตเป็น −
const input = ['a', 'v', 'k', 'f', 'a', 'f', 's', 'd', 'd', 'f', 'a', 'j', 'a'];
จากนั้นผลลัพธ์ควรเป็น −
'a'
เพราะ 'a' ซ้ำถึงจำนวนสูงสุด
ดังนั้น มาเขียนโค้ดสำหรับสิ่งนี้กัน เราจะใช้ Map() เพื่อติดตามองค์ประกอบทั้งหมด weencounter และจำนวนของพวกเขา และสุดท้ายส่งคืนองค์ประกอบที่มีจำนวนสูงสุดเช่นนี้ −
ตัวอย่าง
const input = ['m', 'a', 'v', 'k', 'f', 'a', 'f', 's', 'd', 'd', 'f', 'a', 'j', 'a']; const findMaximum = arr => { const map = arr.reduce((acc, val) => { let count = acc.get(val); if(count){ acc.set(val, ++count); } else { acc.set(val, 1); }; return acc; }, new Map()); return Array.from(map).reduce((acc, val) => { if(val[1] > acc[1]){ return val; }; return acc; }, [0, 0])[0]; }; console.log(findMaximum(input));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
a