Sự khác biệt của 2 tập hợp có nghĩa là tập hợp bị trừ phải loại bỏ tất cả các phần tử của nó khỏi tập hợp mà nó đang bị trừ. Vì vậy, chúng ta có thể lặp lại tập hợp thứ hai và loại bỏ tất cả các phần tử có trong nó khỏi tập hợp đầu tiên.
Ví dụ
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; }
Bạn có thể kiểm tra điều này bằng cách sử dụng -
Ví dụ
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();
Đầu ra
Điều này sẽ cung cấp đầu ra -
{ '1': 1 }
Lưu ý rằng chức năng khác biệt cũng không có trong API ES6. Bạn có thể làm cho chức năng này khả dụng trong lớp Set như sau -
Ví dụ
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; }
Bạn có thể kiểm tra điều này bằng cách sử dụng -
Ví dụ
let setA = new Set([1, 2, 3, 4]); let setB = new Set([2, 3]); console.log(Set.difference(setA, setB));
Đầu ra
Điều này sẽ cung cấp đầu ra -
Set { 1, 4 }