Cho mảng số/chuỗi có phần tử lặp lại. Viết hàm trả về phần tử xuất hiện nhiều nhất.
Ví dụ: ['a','v','k','f','a','f','s','d','d','f','a','j','a'] → 'a' (xuất hiện 4 lần).
Dùng Map() đếm tần suất, sau đó reduce() tìm max:
Ví dụ
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));Kết quả
Đầu ra trong console sẽ là:
a