자바스크립트 - 지도

안녕 👋, 모두 잘 지내길 바래! JavaScript에서 Map에 대해 이야기해 봅시다!

지도 🗺️



JavaScript(JS)의 맵을 사용하면 키-값 관계를 사용하여 정보/데이터를 저장할 수 있습니다. 하지만 잠깐만요... JS의 Object와 같지 않나요? Object를 사용할 때 맵이 typeof를 반환하지만 완전히 동일하지는 않습니다. 그들은 본질적으로 매우 유사하지만 용도를 결정하는 뚜렷한 차이점이 있습니다.

그렇다면 이러한 뚜렷한 차이점은 무엇입니까? 음, Object를 사용하는 경우 키는 String 또는 Symbol 데이터 유형이어야 하지만 Map의 키는 FunctionObject를 포함한 모든 데이터 유형이 될 수 있습니다. 또 다른 것은 Object의 크기를 찾으려면 수동으로 해야 한다는 것입니다. Object.keys()를 사용하여 모든 키를 잡은 다음 길이를 계산합니다. 그러나 Map에는 .size의 크기를 반환하는 속성Map이 있습니다.

또한 객체는 지도를 사용하는 동안 직접 반복할 수 없습니다.

예: Map에는 고유한 방법이 있으며 아래에서 그 중 일부를 볼 수 있습니다.

const cypher = {name: "Cypher", color: "white"};
const raze = {name: "Raze", color: "orange"};
const omen = {name: "Omen", color: "blue"};

const characterRoles = new Map(); // create an empty Map.

// add new data

characterRoles.set(cypher, "sentinel");

// you can chain the method to add multiple entries
characterRoles.set(raze, "duelist")
   .set(omen, "smokes");

// check size
characterRoles.size // 3

// iterable
characterRoles.forEach((role, char) => {
    console.log(char.name + " is a " + role)
});

// Cypher is a sentinel
// Raze is a duelist
// Omen is a smokes


데이터 구조와 알고리즘에 대해 계속 공부하면서 Map가 JavaScript의 Hashmap과 동일하다는 것을 알게 되었고 이를 사용하여 몇 가지 문제를 해결했습니다.

요약



요약하면 Map을 사용하면 데이터를 String(또는 Symbol) 데이터 유형으로 제한되지 않는 키-값 쌍으로 키로 저장할 수 있습니다. 또한 데이터를 직접 반복할 수 있는 기능도 제공합니다. 또한 지도에는 컬렉션의 데이터를 추가, 액세스, 편집 및 삭제하는 데 사용할 수 있는 자체 속성 및 메서드가 있습니다.

이 짧은 게시물을 읽어주셔서 감사합니다. 정보를 추가하거나 피드백을 제공하려면 댓글을 남겨주세요 😀.

좋은 웹페이지 즐겨찾기