เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ที่มีองค์ประกอบของประเภทข้อมูลที่แตกต่างกัน และฟังก์ชันควรส่งคืนแผนที่ที่แสดงความถี่ของข้อมูลแต่ละประเภท
สมมติว่าต่อไปนี้คืออาร์เรย์ของเรา –
const arr = [23, 'df', undefined, null, 12, { name: 'Rajesh' }, [2, 4, 7], 'dfd', null, Symbol('*'), 8];
ตัวอย่าง
ต่อไปนี้เป็นรหัสเพื่อส่งคืนแผนที่ที่แสดงความถี่ของแต่ละประเภทข้อมูล -
const arr = [23, 'df', undefined, null, 12, { name: 'Rajesh' }, [2, 4, 7], 'dfd', null, Symbol('*'), 8]; const countDataTypes = arr => { return arr.reduce((acc, val) => { const dataType = typeof val; if(acc.has(dataType)){ acc.set(dataType, acc.get(dataType)+1); }else{ acc.set(dataType, 1); }; return acc; }, new Map()); }; console.log(countDataTypes(arr));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
Map(5) { 'number' => 3, 'string' => 2, 'undefined' => 1, 'object' => 4, 'symbol' => 1 }