เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ตัวเลขสองอาร์เรย์ ให้เรียกว่า arr1 และ arr2
ฟังก์ชันควรสร้างอาร์เรย์ที่สามโดยยึดตามอาร์เรย์อินพุต 2 ชุดที่มีองค์ประกอบทั้งหมดที่เหมือนกันกับทั้ง arr1 และ arr2
โปรดทราบว่าหากมีองค์ประกอบเดียวกันมากกว่าหนึ่งรายการในอาร์เรย์ทั้งสอง เราต้องพิจารณาอินสแตนซ์ดังกล่าวทั้งหมดขององค์ประกอบนั้น
ตัวอย่างเช่น −
หากอาร์เรย์อินพุตเป็น −
const arr1 = [1, 2, 2, 4, 4, 5, 6]; const arr2 = [3, 2, 4, 2, 4, 9];
จากนั้นอาร์เรย์เอาต์พุตควรเป็น −
const output = [2, 2, 4, 4];
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr1 = [1, 2, 2, 4, 4, 5, 6]; const arr2 = [3, 2, 4, 2, 4, 9]; const findIntersection = (arr1 = [], arr2 = []) => { const map = new Map(); for (const el of arr2) { const count = map.get(el) || 0; map.set(el, count + 1); }; return arr1.filter(el => { let count = map.get(el); if (count) { map.set(el, --count); return true; } return false; }); }; console.log(findIntersection(arr1, arr2));
ผลลัพธ์
ต่อไปนี้เป็นเอาต์พุตคอนโซล -
[2, 2, 4, 4]