用JavaScript减去两个集合
2个集合的差值意味着要减去的集合应从要减去的集合中删除所有元素。因此,我们可以遍历第二组并从第一组中删除其中存在的所有元素。
示例
static difference(s1, s2) {
if (!s1 instanceof MySet || !s2 instanceof MySet) {
console.log("给定对象不是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 }请注意,ES6API中也没有差异功能。您可以使此函数在Set类中可用,如下所示:
示例
Set.difference = function(s1, s2) {
if (!s1 instanceof Set || !s2 instanceof Set) {
console.log("给定的对象不是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 }热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短