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

更新于:15-6 月 -2020

2K+ 浏览

开启你的 职业 生涯

完成课程并获得认证

开始吧
广告
© . All rights reserved.