자바스크립트 지도
Map은 키가 모든 데이터 유형이 될 수 있는 키-값 쌍을 보유합니다.
Map은 키의 원래 삽입 순서를 기억합니다.
Map에는 지도의 크기를 나타내는 속성이 있습니다.
지도 방법
방법 | 설명 |
---|---|
새로운 지도() | 새로운 Map 객체를 생성합니다. |
세트() | Map의 키 값을 설정합니다. |
가져 오기() | Map의 키 값을 가져옵니다. |
분명한() | 지도에서 모든 요소를 제거합니다. |
삭제() | 키로 지정된 Map 요소를 제거합니다. |
가지다() | 키가 맵에 있으면 true를 반환합니다. |
각각() | Map의 각 키/값 쌍에 대한 콜백을 호출합니다. |
항목() | Map에 [key, value] 쌍이 있는 iterator 객체를 반환합니다. |
키() | Map의 키와 함께 iterator 객체를 반환합니다. |
값() | Map에 있는 값의 iterator 객체를 반환합니다. |
재산 | 설명 |
---|---|
크기 | Map 요소의 수를 반환합니다. |
지도를 만드는 방법
다음과 같은 방법으로 JavaScript 맵을 만들 수 있습니다.
- 배열 전달
new Map()
- 맵 생성 및 사용
Map.set()
새로운 지도()
new Map()
생성자 에 배열을 전달하여 맵을 만들 수 있습니다 .
예시
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
Map.set()
set()
다음 방법 을 사용하여 맵에 요소를 추가할 수 있습니다 .
예시
// Create a Map
const fruits = new Map();
// Set Map Values
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
이 set()
방법을 사용하여 기존 Map 값을 변경할 수도 있습니다.
예시
fruits.set("apples", 500);
지도.get()
이 get()
메서드는 Map의 키 값을 가져옵니다.
예시
fruits.get("apples"); // Returns 500
지도 크기
이 size
속성은 Map의 요소 수를 반환합니다.
예시
fruits.size;
Map.delete()
이 delete()
메서드는 Map 요소를 제거합니다.
예시
fruits.delete("apples");
Map.clear()
이 clear()
메서드는 Map에서 모든 요소를 제거합니다.
예시
fruits.clear();
Map.has()
키가 Map에 존재 하는 has()
경우 메서드는 true를 반환합니다.
예시
fruits.has("apples");
이 시도:
fruits.delete("apples");
fruits.has("apples");
지도는 객체입니다
typeof
반환 객체:
예시
// Returns object:
typeof fruits;
instanceof
지도는 true를 반환합니다.
예시
// Returns true:
fruits instanceof Map;
JavaScript 개체 대 지도
JavaScript 개체와 지도의 차이점:
물체 | 지도 | |
---|---|---|
반복 가능 | 직접 반복할 수 없음 | 직접 반복 가능 |
크기 | 크기 속성이 없습니다. | 크기 속성이 있습니다. |
키 유형 | 키는 문자열(또는 기호)이어야 합니다. | 키는 모든 데이터 유형이 될 수 있습니다. |
키 주문 | 키가 잘 정렬되어 있지 않습니다. | 키는 삽입 순서로 정렬됩니다. |
기본값 | 기본 키 보유 | 기본 키가 없습니다 |
Map.forEach()
이 forEach()
메서드는 Map의 각 키/값 쌍에 대한 콜백을 호출합니다.
예시
// List all entries
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value;
})
Map.keys()
이 keys()
메서드는 Map의 키와 함께 반복자 객체를 반환합니다.
예시
// List all keys
let veggies = "";
for (const x of fruits.keys()) {
veggies += x;
}
Map.values()
이 values
메서드는 Map의 값과 함께 iterator 객체를 반환합니다.
예시
// Sum all values
let total = 0;
for (const x of fruits.values()) {
total += x;
}
Map.entries()
이 entries()
메서드는 Map에 [key,values]가 있는 반복자 객체를 반환합니다.
예시
// List all entries
let text = "";
for (const x of fruits.entries()) {
text += x;
}
키로 객체
객체를 키로 사용할 수 있는 것은 중요한 지도 기능입니다.
예시
// Create Objects
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};
// Create a Map
const fruits = new Map();
// Add new Elements to the Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);
기억하십시오: 키는 문자열("사과")이 아니라 객체(사과)입니다.
예시
fruits.get("apples"); // Returns undefined
브라우저 지원
JavaScript 지도는 Internet Explorer를 제외한 모든 브라우저에서 지원됩니다.
Chrome | Edge | Firefox | Safari | Opera |