Mô tả bài toán
Đếm số lần xuất hiện của từng giá trị duy nhất trong mảng, trả về object {value: count}.
Ví dụ minh họa
const arr = ["hi", "hello", "hi"];
const countUnique = arr => {
const counts = {};
for (let i = 0; i < arr.length; i++) {
counts[arr[i]] = 1 + (counts[arr[i]] || 0);
}
return counts;
};
console.log(countUnique(arr));
Kết quả
{ hi: 2, hello: 1 }
Cách viết hiện đại
const countUnique = arr =>
arr.reduce((acc, v) => (acc[v] = -~acc[v], acc), {});
Hoặc dùng Map (giữ kiểu key)
const countUnique = arr => {
const map = new Map();
for (const v of arr) map.set(v, (map.get(v) || 0) + 1);
return Object.fromEntries(map);
};