혼자 적어보는 노트

[Javascript] Map() - hash map 사용하기 본문

Javascript

[Javascript] Map() - hash map 사용하기

jinist 2021. 10. 27. 01:10

hashmap 알고리즘 문제를 풀다가 몰랐던 개념인듯 하여 정리하였다.

 

 

Map()

- Map()은 javascript의 key-value로 이루어진 자료구조 형태
- key를 사용해서 value를 get, set할수 있다.
- key의 값은 중복될 수 없는 고유의 값이며, 한 개의 key는 한 개의 value를 가진다.

- 배열에서는 key값에 숫자만 가능하지만 Hash Table 에서는 다양한 key값 활용 가능.
- key로 사용할 수 있는 데이터 형 : string, object, symbol, function (*number는 안됨)

 

 

Map() 기본사용

let abc = new Map();

// set() : key와 value값을 넣어준다.
abc.set("A", 10); 
abc.set("B", 20);
abc.set("C", 30);

//get() : 해당 key의 value값을 탐색한다.
console.log(abc.get("A")); // 10

// has(): 해당 key가 존재하는지 확인한다
console.log(abc.has("A")); // true

// size : 해당 map에 담긴 엔트리 갯수를 확인한다
console.log(abc.size); // 3

// delete(): 해당 key를 가진 엔트리를 삭제한다
abc.delete("A");
console.log(abc.has("A")); // false

// clear() : 모든 엔트리를 삭제한다 
abc.clear();
console.log(abc); // Map(0) {size: 0}

 

 

for of 사용

let abc = new Map();

abc.set("A", 10); 
abc.set("B", 20);
abc.set("C", 30);

for(let [key, value] of abc){
  console.log(key, value);
}

// A 10
// B 20
// C 30

 

 

Set()

- 자료형에 관계 없이 유일한 값을 저장할 수 있다.
- 중복 값을 무시해준다.

 

let abc = new Set();

//add() : Set에 값을 추가 해줌.
abc.add(1) // Set { 1 }
abc.add("A") // Set { 1, "A" }

map과 같이 has(), size, delete(), 사용 가능

Comments