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

Tìm sự khác biệt đối xứng giữa hai mảng - JavaScript

Trong Toán học, hiệu số đối xứng của hai tập hợp, chẳng hạn A và B được biểu thị bằng A △ B

Và nó được định nghĩa là tập hợp của tất cả các phần tử thuộc về A hoặc B nhưng không thuộc cả hai.

Ví dụ -

const A = [1, 2, 3, 4, 5, 6, 7, 8];
const B = [1, 3, 5, 6, 7, 8, 9];

Khi đó hiệu số đối xứng của A và B sẽ là -

const diff = [2, 4, 9]

Ví dụ

Sau đây là mã -

const A = [1, 2, 3, 4, 5, 6, 7, 8];
const B = [1, 3, 5, 6, 7, 8, 9];
const symmetricDifference = (arr1, arr2) => {
   const res = [];
   for(let i = 0; i < arr1.length; i++){
      if(arr2.indexOf(arr1[i]) !== -1){
         continue;
      };
      res.push(arr1[i]);
   }
   for(let i = 0; i < arr2.length; i++){
      if(arr1.indexOf(arr2[i]) !== -1){
         continue;
      };
      res.push(arr2[i]);
   };
   return res;
};
console.log(symmetricDifference(A, B));

Đầu ra

Điều này sẽ tạo ra kết quả sau trong bảng điều khiển -

[2, 4, 9]