Map은 속성들 간의 순서를 보장하고 반복문을 사용할 수 있습니다. 속성명으로 문자열이 아닌 값도 사용할 수 있고 size 메서드를 통해 속성의 수를 쉽게 알 수 있다는 점에서 일반 객체와 다릅니다.

    const s = new Set();
    s.add(false); // add(요소)로 Set에 추가합니다
    s.add(1);
    s.add('1');
    s.add(1); // 중복이므로 무시됩니다
    s.add(2);
    
    console.log(s.size); // 중복이 제거되어 4
    
    s.has(1); // has(요소)로 요소 존재 여부를 확인합니다
    console.log(s.has(1)); // true
    
    for (const a of s) {
      console.log(a); // false 1 '1' 2
    }
    
    s.forEach((a) => {
      console.log(a); // false 1 '1' 2
    })
    
    s.delete(2); // delete(요소)로 요소를 제거합니다
    s.clear(); // clear()로 전부 제거합니다

    Set은 중복을 허용하지 않는다는 것이 가장 큰 특징입니다. 따라서 배열 자료구조를 사용하고 싶으나 중복은 허용하고 싶지 않을 때 Set을 대신 사용하면 됩니다.

    또는 기존 배열에서 중복을 제거하고 싶을 때도 Set을 사용합니다. 다음 코드를 보세요.

    const arr = [1, 3, 2, 7, 2, 6, 3, 5];
    
    const s = new Set(arr);
    const result = Array.from(s);
    console.log(result); // 1, 3, 2, 7, , 5

    new Set(배열)을 하는 순간 배열의 중복된 요소들이 제거됩니다. Set을 배열로 되돌리려면 Array.from(Set)을 하면 됩니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.