본문 바로가기
Front

[Javascript] set() 메서드 / add() / size / for of / for Each

by bkuk 2022. 9. 20.

set은 중복을 허락하지 않고, 교, 합, 차집합이 가능함에 따라서 중복을 제거하는 용도로 사용

데이터를 삽입한 순서대로 요소를 순회

 

// 대문자 주의
// "iterable" => 반복 가능한 객체
new Set([iterable]);

 

사용 예

// 선언
let set = new Set();

// 데이터 추가
set.add( "축구" );
set.add( "농구" );
set.add( "배구" );

// 출력
console.log( set.size );
console.log( set );

데이터를 추가할떄는 add() 라는 메서드를 사용하고,

데이터의 갯수를 확인할때는 length가 아니라 size()라는 메서드를 사용.

 

 

중복을 허락하지 않기에 같은 이름의 데이터를 추가해도

set.add( "축구" );

set.add( "축구" );

set.add( "축구" );

set.add( "축구" );

데이터가 추가가 되지 않는걸 확인할 수 있음.

 

 

한줄로 데이터를 추가하는 방법은 아래와 같이 실행문을 작성하면됨.

set.add( "축구" ).add( "농구" ).add( "배구" );​
 
 
 
 

배열 객체와 동일한 방식으로 저장된 데이터를 불러오자.

또, 위에서 확인했던 중복을 허락하지 않는지 재확인을 해보자.

let set2 = new Set( [1, 2, 3, 4, 2, 2, 3, 4,5 ] );

    console.log( set2 );
    console.log( set2.size );

    console.log( set2[0] );
    console.log( set2[1] );

 

 

그렇다면 어떻게 불러와야할까?

두가지 방법으로 진행해보자.(이전 포스팅 참고)

 

첫번쨰는, for of문

 

[Javascript] for of / for in

for of 배열의 반복에서 사용되며 아래와 같은 코드를 작성했다면 출력은 let arr1 = [1, 2, 3]; for( let value of arr1 ){ console.log( value ); } 인덱스의 값을 순차적으로 출력 배열이 아닌 객체에 사용해..

starting-coding.tistory.com

두번쨰는, for each문

 

 

for of 

let set2 = new Set( [1, 2, 3, 4, 2, 2, 3, 4, 5 ] );
    for( let set21 of set2){
        console.log(set21);
        }

중복을 제거한 데이터 출력 확인했고,

 

for each

let set2 = new Set( [1, 2, 3, 4, 2, 2, 3, 4, 5] );
    set2.forEach( function( element, index, array ) {
        console.log( element, index, array );
    });

배열에서 쓰는 forEach와 다른 값들이 출력된 것을 확인

set 에서는 (값, 키, 오브젝트)로 출력.

배열과는 다르게 인덱스가 없음.

댓글