Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

สร้างแผนที่ความถี่ของทุกองค์ประกอบในอาร์เรย์ JavaScript

เราจะได้รับอาร์เรย์ของตัวเลข/สตริงที่มีรายการซ้ำกัน ทั้งที่ต้องทำคือคืนค่าความถี่ของแต่ละองค์ประกอบในอาร์เรย์

การคืนค่าออบเจ็กต์ที่มีองค์ประกอบเป็นคีย์และความถี่เป็นค่าจะเหมาะสมที่สุดสำหรับสถานการณ์นี้

เราจะวนลูปอาร์เรย์ด้วย forEach() และเพิ่มจำนวนนับขององค์ประกอบในออบเจ็กต์หากมีอยู่แล้ว มิฉะนั้นจะสร้างคุณสมบัติใหม่สำหรับองค์ประกอบนั้น

โค้ดเต็มสำหรับปัญหานี้:

const arr = [2,5,7,8,5,3,5,7,8,5,3,4,2,4,2,1,6,8,6]; const getFrequency = (array) => { const map = {}; array.forEach(item => { if(map[item]){ map[item]++; }else{ map[item] = 1; } }); return map; }; console.log(getFrequency(arr));

ผลลัพธ์ในคอนโซล:

{ '1': 1, '2': 3, '3': 2, '4': 2, '5': 4, '6': 2, '7': 2, '8': 3 }