map, set 자료형
▶️ 매핑을 할 수 있는 Map 자료형
var person = new Map();
person.set("name","Kim");
person.set("age",20);
console.log(person);
// 콘솔창 출력:
// Map { 'name' => 'Kim', 'age' => 20 }
- Map 자료형은 Object자료형과 똑같이 key, value 형태로 자료를 저장할 수 있는 자료형이다. 위처럼 만들고 자료를 저장할 수 있다.
- 그런데 콘솔창에 출력을 해보면 Object와는 약간 다른 것을 알 수 있는데, key,value값을 등호가 아닌 화살표로 나타낸다.
- Map 자료형은 자료를 저장하는 것이 아닌 자료의 연관성을 표현하기 위해 쓰기 때문인데, name과 Kim이 연관돼있다~라고 저장하고 싶다면 Map을 쓰면 된다.
- 요약하자면 Map은 자료간의 연관성을 표현하기 위해 쓴다고 보면 된다.
var person = new Map();
person.set([1,2,3],'Kim');
person.set('age', 20);
자료를 저장하는 것이 아닌 매핑을 하는 것이므로 자료의 이름으로 array도 사용할 수 있고 object도 사용할 수 있다.
▶️ Map을 다루는 법
// Map 자료형 만드는 방법
let person = new Map();
// Map 자료 넣기
person.set("name", 'Kim');
person.set("age", 20);
console.log(person); // 출력 : {'name' => 'Kim', 'age' => 20}
// Map 자료 꺼내는 방법
console.log(person.get("name"));// 출력 : Kim
console.log(person.get("age"));// 출력 : 20
// Map 자료 몇개인지 아는 방법
console.log(person.size);// 출력 : 2
// Map 자료 삭제하는 방법
person.delete("age");
console.log(person);// 출력 : {'name' => 'Kim'}
console.log(person.size);// 출력 : 1
// Map 자료 반복문 돌리기
for(var key of person.keys()){
console.log(key);
}
//자료를 직접 집어넣고 싶다면
var person = new Map ([
['age', 20],
['name','kim']
]);
이렇게 다룰 수 있다. 실무에선 잘 안쓰이지만 알고리즘 대비할때 다시 보게될 것이다.
▶️ Set자료형
var names = new Set(['john','tom','andy','tom']);
console.log(names); // set(3) {'john','tom','andy'}
- Set은 간단한 Array와 비슷하게 생겼다. 출력해보니 중괄호로 감싼 배열과 비슷하다.
- 그런데 Set자료형은 중복자료를 절대 허용하지 않는다. tom을 두 개 집어넣었지만 앞에있던 하나의 tom만 출력되는 것을 볼 수 있다.
- 중복 데이터를 방지하고 싶을 때 쓰면 유용한 자료형이다.
▶️ Set자료형 다루기
var names = new Set(['john','tom','andy','tom']);
names.add('sally');//자료 더하기
names.has('tom');//자료 존재 확인
names.size('sally');//자료 갯수 세기
//반복문 사용
for (const person of names) {
console.log(person);
}
이렇게 다룰 수 있고, 반복문은 for of나 forEach가 많이 쓰인다.
var names = ['john','tom','andy','tom'];
var names2 = new Set(names);
names = [...names2]
- Set으로 이렇게 기존 배열의 중복자료를 제거하는 테크닉을 사용할 수 있겠다.
Author And Source
이 문제에 관하여(map, set 자료형), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@arsshavin/map-set-자료형저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)