1.Set의 사용한 교집합 , 합집합 , 차집합 , 상위 Set은 중복값을 제외한 유일한 값을 저장한다. 그렇기에 교집합, 합집합 , 차집합, 상위 등을 나타내는데 사용하기 에 용이하다.
1.1. 교집합 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Set .prototype.intersaction = function  (set ) {   const  result = new  Set ();   for (const  value of  set ){     if (this .has(value))       result.add(value)   }   return  result; } const  setA = new  Set ([1 ,2 ,3 ,4 ]);const  setB = new  Set ([2 ,4 ]);console .log(setA.intersaction(setB)) Set .prototype.intersaction = function  (set ) {  return  [...this].filter(v =>  set .has(v)); } const setA = new Set([1,2,3,4]); const seB = new Set([2,4]); console.log(setA.intersaction(setB)) // [2,4]; 
 
1.2. 합집합 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Set .prototype.union = function  (set ) {  const  result = new  Set (this );   for (const  value of  set ){     result.add(value);   }   return  result; } const  setA = new  Set ([1 ,2 ,3 ,4 ]);const  setB = new  Set ([2 ,4 ]);console .log(setA.union(setB)) Set .prototype.union = function  (set ) {  const  result = new  Set ([...this,...set])   return  result; } const  setA = new  Set ([1 ,2 ,3 ,4 ]);const  setB = new  Set ([2 ,4 ]);console .log(setA.union(setB)) 
 
1.3 차집합 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Set .prototype.differnce = function  (set ) {  const  result = new  Set (this );   for (const  value of  set ){     result.delete(value);     }   } return  result;} const  setA = new  Set ([1 ,2 ,3 ,4 ]);const  setB = new  Set ([2 ,4 ]);console .log(setA.difference(setB)) Set .prototype.difference = function  (set ) {  return  [...this].filter(v =>  !set .has(v)); } const setA = new Set([1,2,3,4]); const setB = new Set([2,4]); consoel.log(setA.differnce(setB)) //[1,3]; 
 
1.4. 상위 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Set .prototype.isSuperset = function  (set ) {for (const  value of  subset){  if (!this .has(value))return  false ; }   return  true ; } const  setA = new  Set ([1 ,2 ,3 ,4 ]);const  setB = new  Set ([2 ,4 ]);console .log(setA.isSuperset(setB)) Set .prototype.isSuperset = function  (set ) {  const  superArr = [...this];   return  [...superArr].every(v  =>  superArr.includes(v)); } const  setA =new  Set ([1 ,2 ,3 ,4 ]);const  setB = new  Set ([2 ,4 ]);console .log(setA.isSuperset(setB))