เราต้องเขียนฟังก์ชันที่รับอาร์เรย์และสร้างออบเจกต์ที่คีย์คือสมาชิกที่ไม่ซ้ำกัน และค่าคือจำนวนครั้งที่ปรากฏ
ตัวอย่างโค้ด
const arr = [4, 6, 3, 1, 5, 8, 9, 3, 4];
const findFrequency = (arr = []) => {
const map = {};
for (let i = 0; i < arr.length; i++) {
const el = arr[i];
if (map.hasOwnProperty(el)) { map[el]++; } else { map[el] = 1; }
}
return map;
};
console.log(findFrequency(arr));
ผลลัพธ์
ค่าที่แสดงในคอนโซลจะเป็นดังนี้:
{ '1': 1, '3': 2, '4': 2, '5': 1, '6': 1, '8': 1, '9': 1 }