Chúng ta cần viết một hàm JavaScript nhận một mảng các giá trị nguyên thủy và tìm số xuất hiện nhiều nhất trong mảng cũng như số lần nó lặp lại.
Ví dụ
Mã thực hiện:
const arr = ['13', '4', '1', '1', '4', '2', '3', '4', '4', '1', '2', '4', '9', '3'];
const findFrequency = (arr = []) => {
const count = {};
const max = arr.reduce((acc, val, ind) => {
count[val] = (count[val] || 0) + 1;
if (!ind || count[val] > count[acc[0]]) {
return [val];
}
if (val !== acc[0] && count[val] === count[acc[0]]) {
acc.push(val);
}
return acc;
}, undefined);
return { max, count };
}
console.log(findFrequency(arr));
Kết quả
Kết quả trong console:
{
max: [ '4' ],
count: { '1': 3, '2': 2, '3': 2, '4': 5, '9': 1, '13': 1 }
}