Set
- value만을 저장하며 중복을 허용하지 않는 Collection
- 대표 속성과 메서드
- 생성자 : new Set()
- 개수 확인 : Set.size
- 요소 추가 : Set.add(value)
- 요소 삭제 : Set.delete(value)
- 전체 삭제 : Set.clear()
- 요소 존재 여부 확인 : Set.has(key)
- 그 밖의 메서드 : Set.keys(), Set values(key), Set.entires()
요소 추가/삭제
- 다양한 자료형을 value로 사용 가능하며 set.add 호출 시 체이닝(chaining) 가능
let set = new Set();
let num = new Set([1,2,3,4,5]);
let str = new Set("hello~");
console.log(set); // Set(0) {}
console.log(num); // Set(5) { 1, 2, 3, 4, 5 }
console.log(str); // Set(5) { 'h', 'e', 'l', 'o', '~' }
set.add(1) .add(1) .add(10) .add(20);
console.log(set); // Set(3) { 1, 10, 20 }
console.log(set.has(10)); // true
console.log(set.has(2)); // false
// 삭제 여부 판단
set.delete(1); // true
set.delete(-1); // false
console.log(set); // Set(2) { 10, 20 }
Set 반복문
- Collection 객체인 Set이 가지고 있는 iterator 속성을 이용하여 for...of 구문을 통해 반복문 수행 가능
let str = new Set("hello~");
console.log(str); // Set(5) { 'h', 'e', 'l', 'o', '~' }
for(let item of str){
console.log(item); // h \n e \n l \n o \n ~
};
for(let item of str.keys()){
console.log(item); // h \n e \n l \n o \n ~ key가 없어서 value 반환
};
for(let item of str.values()){
console.log(item); // h \n e \n l \n o \n ~
};
// 맥과 호환성을 위해 key와 value 형태로 출력
for(let item of str.entries()){
console.log(item);
};
/*
[ 'h', 'h' ]
[ 'e', 'e' ]
[ 'l', 'l' ]
[ 'o', 'o' ]
[ '~', '~' ]
*/
반응형
'자료구조,알고리즘 > Java Script 기초' 카테고리의 다른 글
JS기초 16 : Date (0) | 2022.07.27 |
---|---|
JS기초 15 : Math (0) | 2022.07.25 |
JS기초 13 : Collection, Map, Object 변환 (0) | 2022.07.24 |
JS기초 12 : 생성자 함수, new.target (0) | 2022.07.24 |
JS기초 11 : 고차함수2 for Each, map, find, filter, reduce (0) | 2022.07.24 |
댓글