数学:集合的差集
本课属于 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 }挑战
简单创建一个名为 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);
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: JavaScript 在线编译器