在 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.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 }

更新於:2020 年 6 月 15 日

2K+ 瀏覽量

提升您的職業

完成課程以獲得認證

開始
廣告
© . All rights reserved.