티스토리 뷰

728x90
SMALL

집합은 정렬되지 않은 유일한 항목들의 그룹이다.

var exampleSet = new Set();
exampleSet.add(1); // exampleSet: Set(1) {1}
exampleSet.delete(1); // true
exampleSet.has(1); // false

기타 유틸리티 함수

function intersectSets (setA, setB) {
    var intersection = new Set();
    for (var elem of setB) {
        if (setA.has(elem)) {
            intersection.add(elem);
        }
    }
    return intersection;
}
var setA = new Set([1, 2, 3, 4]),
    setB = new Set([2, 3]);
intersectSets(setA, setB); // Set {2, 3}

function isSuperset (setA, subset) {
    for (var elem of subset) {
        if (!setA.has(elem)) {
            return false;
        }
    }
    return true;
}

var setA = new Set([1, 2, 3, 4]),
    setB = new Set([2, 3]),
    setC = new Set([5]);
isSuperset(setA, setB); 

setA.isSuperset(setC);

function unionSet(setA, setB) {
    var union = new Set(setA);
    for (var elem of setB) {
        union.add(elem);
    }
    return union;
}
var setA = new Set([1, 2, 3, 4]),
    setB = new Set([2, 3]),
    setC = new Set([5]);
unionSet(setA, setB);

unionSet(setA, setC);

function differenceSet(setA, setB) {
    var difference = new Set(setA);
    for (var elem of setB) {
        difference.delete(elem);
    }
    return difference;
}
var setA = new Set([1, 2, 3, 4]),
    setB = new Set([2, 3]);
differenceSet(setA, setB);

ex

function checkDuplicates(arr) {
    var mySet = new Set(arr);
    return mySet.size < arr.length;
}
checkDuplicates([1,2,3,4,5]); // false


function uniqueList(arr1, arr2) {
    var mySet = new Set(arr1.concat(arr2));
    return Array.from(mySet);
}
uniqueList([1,1,2,2],[2,3,4,5]); // [1,2,3,4,5]
728x90
LIST

' > 자바스크립트로 하는 자료 구조와 알고리즘' 카테고리의 다른 글

해시 테이블  (0) 2020.12.19
검색과 정렬  (0) 2020.12.18
재귀  (0) 2020.12.17
메모리 누수  (0) 2020.12.17
배열 코드  (0) 2020.12.17
댓글
공지사항