在 Javascript 中新增兩個集合


新增 2 個集合的操作稱為並集。你需要從一個集合中新增每個物件到另一個集合中,同時檢查是否存在重複項。我們只需使用我們已經實現的 2 個方法即可實現此方法。

由於我們不想改變現有集合,而是建立並返回一個新集合,因此我們將實施此功能作為靜態功能。我們首先需要檢查傳遞給它的物件是否確實是 MySet 類的一個例項。

示例

static union(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.add(elem));
   newSet;
}

可以使用以下方法進行測試 - 

示例

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

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

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

輸出

這將給出輸出 -

{ '1': '1', '2': '2', '5': '5' }

請注意,在 ES6 API 中也沒有並集函式。你可以按照如下方式在 Set 類中使用此函式 &minusl 

示例

Set.union = 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.add(elem));
   return newSet;
}

可以使用以下方法進行測試 -

示例

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

輸出

這將給出輸出 -

Set { 1, 2, 3, 4 }

更新於: 15-Jun-2020

3K+ 次瀏覽

開啟您的 事業

完成課程即可獲得認證

開始吧
廣告
© . All rights reserved.