การรวม 2 เซตเรียกว่า Union ใส่ทุกอ็อบเจกต์จากเซตหนึ่งไปอีกเซต ตรวจสอบ duplicates ใช้เมธอดที่ implement ไว้แล้ว
Implement เป็น static function ไม่ mutate เซตเดิม แต่สร้างใหม่ ตรวจสอบ instance ของ MySet ก่อน
ตัวอย่าง
static union(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.add(elem));
newSet;
}
ทดสอบ:
ตัวอย่าง
const testSet1 = new MySet(); testSet1.add(1); testSet1.add(2); const testSet2 = new MySet(); testSet2.add(2); testSet2.add(5); let testSet3 = MySet.union(testSet1, testSet2); testSet3.display();
ผลลัพธ์
จะได้ผลลัพธ์:
{ '1': '1', '2': '2', '5': '5' }
union function ไม่อยู่ใน ES6 API เพิ่มเข้าคลาส Set ได้:
ตัวอย่าง
Set.union = 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.add(elem));
return newSet;
}
ทดสอบ:
ตัวอย่าง
let setA = new Set([1, 2, 3, 4]); let setB = new Set([2, 3]); console.log(Set.union(setA, setB));
ผลลัพธ์
จะได้ผลลัพธ์:
Set { 1, 2, 3, 4 }