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

Javascript에서 두 세트 빼기


2 집합의 차이는 빼는 집합이 빼는 집합에서 모든 요소를 ​​제거해야 함을 의미합니다. 그래서 우리는 두 번째 세트를 반복하고 첫 번째 세트에서 그 안에 있는 모든 요소를 ​​제거할 수 있습니다.

예시

static difference(s1, s2) {
   if (!s1 instanceof MySet || !s2 instanceof MySet) {
      console.log("The given objects are not of type MySet");
      return null;
   }
   let newSet = new MySet();
   s1.forEach(elem => newSet.add(elem));
   s2.forEach(elem => newSet.delete(elem));
   return newSet;
}

다음을 사용하여 테스트할 수 있습니다.

예시

const testSet1 = new MySet();
testSet1.add(1);
testSet1.add(2);

const testSet2 = new MySet();
testSet2.add(2);
testSet2.add(5);

let testSet3 = MySet.differnce(testSet1, testSet2);
testSet3.display();

출력

이것은 출력을 줄 것입니다 -

{ '1': 1 }

차이점 함수는 ES6 API에도 없습니다. 다음과 같이 Set 클래스에서 이 기능을 사용할 수 있도록 할 수 있습니다. -

예시

Set.difference = function(s1, s2) {
   if (!s1 instanceof Set || !s2 instanceof Set) {
      console.log("The given objects are not of type Set");
      return null;
   }
   let newSet = new Set();
   s1.forEach(elem => newSet.add(elem));
   s2.forEach(elem => newSet.delete(elem));
   return newSet;
}

를 사용하여 이것을 테스트할 수 있습니다.

예시

let setA = new Set([1, 2, 3, 4]);
let setB = new Set([2, 3]);
console.log(Set.difference(setA, setB));

출력

이것은 출력을 줄 것입니다 -

Set { 1, 4 }