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문
두번쨰는, 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 에서는 (값, 키, 오브젝트)로 출력.
배열과는 다르게 인덱스가 없음.
댓글