Difference ของ 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 }
difference function ไม่อยู่ใน 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 }