Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm giao của nhiều mảng - JavaScript


Chúng ta cần viết hàm nhận vào số lượng mảng tùy ý và trả về mảng các phần tử chung cho tất cả. Nếu không có phần tử chung, trả về mảng rỗng.

Các mảng ví dụ:

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

Ví dụ

Dưới đây là đoạn code:

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));

Kết quả

Đoạn code sẽ in ra console:

[2, 1, 3]