Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

두 배열 간의 대칭적 차이 찾기 - JavaScript

<시간/>

수학에서 두 집합의 대칭적 차이, 예를 들어 A와 B는 A △ B

로 표시됩니다.

그리고 이것은 A 또는 B에 속하지만 둘 다에는 속하지 않는 모든 요소의 집합으로 정의됩니다.

예를 들어 -

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

그러면 A와 B의 대칭 차이는 -

가 됩니다.
const diff = [2, 4, 9]

예시

다음은 코드입니다 -

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

출력

이것은 콘솔에 다음과 같은 출력을 생성합니다 -

[2, 4, 9]