set객체는 중복되지 않는 유일한 값들의 집합
수학적 집합을 구현하기(교집합, 합집합) 위한 자료 구조이다.
동일한 값을 중복하여 포함할수 없다
요소순서에 의미가 없다
인덱스로 요소에 접근할수 없다.
const set = new Set();
console.log(set) //Seet(0) {}
const set1 = new Set([1,2,3,3]);
console.log(set1) //Set(3) {1,2,3}
const set1 = new Set();
console.log(set) //Seet(0) {}
set.add(1);
console.log(set); //Set(1) {1}
const set = new Set();
set.add(1).add(2)
console.log(set); //Set(2) {1,2}
const set = new Set();
console.log(NaN === NaN); //false
console.log(0 === -0); //true
set.add(NaN).add(NaN) //NaN과 NaN을 같다고 평가하여 중복 추가를 허용하지 않는다.
console.log(set) //Set(1) {NaN}
set 객체에 특정 요소가 존재하는지 확인하기 위해 사용
불리언 값을 반환
const set = new Set([1,2,3]);
console.log(set.has(2)); //true
console.log(set.has(4)); //false
const set = new Set([1,2,3]);
set.delete(0);
console.log(set) // Set(3) {1,2,3}
객체는 키와 값이 쌍으로 이루어진 컬렉션이다.
const map1 = new Map([['key1','value1'],['key2','value2']])
console.log(map1)// map(2) {'key1' => 'value1', 'key2' =>'value2'}
const map = new Map();
console.log(map) // Map(0) {}
map.set('key1','value1');
console.lgo(map) // Map(1) {'key1
'=>'value1'}
map 객체에서 특정 요소를 취득
const map = new Map();
const lee = {name:'Lee'};
const Kim = {name:'Kim'};
map
.set(lee, 'developer')
.set(kim, 'designer')
console.log(map.get(lee)); //developer
객체에 특정 요소가 존재하는지 확인
const lee = {name : 'Lee'};
const Kim = {name: 'kim'};
const map = new Map([[lee, 'developer'], [kim, 'designer']])
console.log(map.has(lee)); //true
Map 키-값 관계가 필요하거나 데이터의 삽입 순서를 유지해야 할 때. Set: 고유한 값만 저장하거나 중복 제거, 집합 연산이 필요한 경우. 사용하면 이점을 얻을 수 있다고 한다. Map과 Set은 비슷한 메서드를 가지고 있으며, 사용법도 유사한점이 많다. 그러나 두 자료구조의 특성에 따라 메서드의 목적과 작동 방식이 다르다.