คำอธิบาย
เขียนฟังก์ชันที่รับอาร์เรย์จำนวนไม่จำกัดและคืนค่าอาร์เรย์ขององค์ประกอบที่ปรากฏในทุกอาร์เรย์ หากไม่มีองค์ประกอบร่วม ให้คืนค่าอาร์เรย์ว่าง
ตัวอย่างโค้ด
const arr1 = [2, 6, 7, 1, 7, 8, 4, 3];
const arr2 = [5, 7, 2, 2, 1, 3];
const arr3 = [1, 56, 345, 6, 54, 2, 68, 85, 3];
const intersection = (arr1, arr2) => {
const res = [];
for (let i = 0; i < arr1.length; i++) {
if (!arr2.includes(arr1[i])) {
continue;
}
res.push(arr1[i]);
}
return res;
};
const intersectMany = (...arrs) => {
let res = arrs[0].slice();
for (let i = 1; i < arrs.length; i++) {
res = intersection(res, arrs[i]);
}
return res;
};
console.log(intersectMany(arr1, arr2, arr3));
ผลลัพธ์
[2, 1, 3]