在 JavaScript 中添加两个集合


添加两个集合的操作称为并集。你需要将一个集合中的每个对象添加到另一个集合中,同时检查是否有重复项。我们可以使用我们已经实现的两种方法来实现此方法。

我们将实现此函数作为静态函数,因为我们不想改变现有集合,而是创建并返回一个新集合。我们首先需要检查传递给它的对象是否确实是 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 中也没有 union 函数。你可以按照以下方法使此函数在 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 }

更新日期: 2020 年 6 月 15 日

3 千+ 浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告