Computer >> Máy Tính >  >> Lập trình >> Javascript

Lấy các phần tử chung từ nhiều mảng trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào bất kỳ số lượng mảng tùy ý nào và trả về một mảng các phần tử chung cho tất cả các mảng. Nếu không có phần tử chung nào, thì chúng ta sẽ trả về một mảng trống.

Do đó, hãy viết mã cho chức năng này -

Ví dụ

Mã cho điều này sẽ là -

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

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[2, 1, 3]