JavaScript 맵
필수 맵 메서드
메서드 | 설명 |
new Map() |
새로운 맵 생성합니다. |
set() |
맵에서 키와 값을 설정합니다. |
get() |
맵에서 키에 해당하는 값을 가져옵니다. |
delete() |
키로 지정된 맵 요소를 제거합니다. |
has() |
키가 맵에 있으면 true를 반환합니다. |
forEach() |
맵의 각 키/값 쌍에 대한 함수를 호출합니다. |
entries() |
맵에서 [key, value] 쌍이 있는 iterator를 반환합니다. |
속성 | 설명 |
size |
맵의 요소 수를 반환합니다. |
맵 생성 방법
다음 방법으로 Map을 만들 수 있습니다.
- 배열을
new Map()
으로 전달 - 맵을 만들고
Map.set()
을 사용합니다.
new Map()
배열을 new Map()
생성자에게 전달하여 Map을 생성할 수 있습니다.
예제 1
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
set()
set()
메서드를 사용하여 Map에 요소를 추가할 수 있습니다.
예제 2
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
set()
메서드를 사용하여 기존 Map 값을 변경할 수도 있습니다.
예제 3
fruits.set("apples", 200);
get()
get()
메서드는 맵에서 키에 해당하는 값을 가져옵니다.
예제 4
fruits.get("apples");
size 속성
size
속성은 맵의 요소 수를 반환합니다.
예제 5
fruits.size;
delete()
delete()
메서드는 Map 요소를 제거합니다.
예제 6
fruits.delete("apples");
has()
has()
메서드는 맵에 키가 있는 경우 true를 반환합니다.
예제 7
fruits.has("apples");
fruits.delete("apples");
fruits.has("apples");
forEach()
forEach()
메서드는 맵의 각 키/값 쌍에 대한 함수를 호출합니다.
예제 8
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value;
})
entries()
entries()
메서드는 Map에서 [key, values]
를 가진 iterator 객체를 반환합니다.
예제 9
let text = "";
for (const x of fruits.entries()) {
text += x;
}
객체와 맵
JavaScript 객체와 맵의 차이점:
객체 | 맵 | |
Iterable | 직접 반복할 수 없음 | 직접 반복 가능 |
Size | 크기 속성이 없음 | 크기 속성이 있음 |
Key Types | 키는 문자열(또는 기호)이어야 함 | 키는 모든 데이터 유형일 수 있음 |
Key Order | 키가 정렬되어 있지 않음 | 키가 정렬되어 있음 |
Defaults | 기본 키 있음 | 기본 키 없음 |
지원 브라우저
자바스크립트 맵은 Internet Explorer를 제외한 모든 브라우저에서 지원됩니다.