Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การหาจุดตัดของหลายอาร์เรย์ - JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับจำนวนอาร์เรย์ตามอำเภอใจและส่งกลับอาร์เรย์ขององค์ประกอบที่เหมือนกันกับอาร์เรย์ทั้งหมด หากไม่มีองค์ประกอบทั่วไป เราควรคืนค่าอาร์เรย์ว่าง

สมมติว่าต่อไปนี้คืออาร์เรย์ของเรา −

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 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]