Menu
CoddyTech

数学:集合的差集

本课属于 Coddy JavaScript 学习旅程的“逻辑与流程”单元。第 38 课,共 65 课。

两个集合 A 和 B 的差集(通常写作 A - B)是一个新集合,其中包含属于 A 但不属于 B 的元素。这个运算不满足交换律,也就是说,A - B 不一定等于 B - A。

例如:

const setA = new Set([1, 2, 3, 4, 5]);
const setB = new Set([3, 4, 5, 6, 7]);

// A - B:在 A 中但不在 B 中的元素
const differenceAB = new Set([...setA].filter(x => !setB.has(x)));
console.log('A - B:', differenceAB); // Set { 1, 2 }

// B - A:在 B 中但不在 A 中的元素
const differenceBA = new Set([...setB].filter(x => !setA.has(x)));
console.log('B - A:', differenceBA); // Set { 6, 7 }
challenge icon

挑战

简单

创建一个名为 setDifference 的函数,它接收两个数组作为参数:arr1 和 arr2。函数应将这两个数组转换为集合。创建一个新的 Set,其中包含在 set1 中但不在 set2 中的元素,将它转换为数组并返回。

亲手试试

function setDifference(arr1, arr2) {
    const set1 = new Set(arr1)
    const set2 = new Set(arr2)
    const differenceSet = new Set();
    // 在这里编写代码
    
    
    return Array.from(differenceSet);
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: JavaScript 在线编译器