자바스크립트 맵과 셋
자바스크립트에서 맵(Map)과 셋(Set)은 데이터를 저장하고 관리하는 데 유용한 자료구조입니다. 이들 자료구조는 ES6(ECMAScript 2015)에서 도입되었으며, 다양한 용도로 활용될 수 있습니다.
맵(Map)
맵은 키-값(key-value) 쌍을 저장하는 자료구조입니다. 키와 값은 서로 연결되어 있으며, 고유한 키를 통해 값을 찾아올 수 있습니다. 맵의 특징은 다음과 같습니다:
- 중복되지 않는 고유한 키를 사용하여 값을 저장하고 조회합니다.
- 키의 순서가 보장되지 않습니다.
- 객체, 함수 등 어떤 값이든 키로 사용할 수 있습니다.
- 키로 값을 조회할 때, 일치 비교에 Strict Equality Comparison(일치 비교 연산자
===
사용)이 적용됩니다.
아래는 맵을 활용한 예제 코드입니다:
// 빈 맵 생성
const myMap = new Map();
// 값 추가
myMap.set("name", "John");
myMap.set("age", 30);
myMap.set("city", "New York");
// 값 조회
console.log(myMap.get("name")); // John
console.log(myMap.get("age")); // 30
// 맵 크기 조회
console.log(myMap.size); // 3
// 값 삭제
myMap.delete("city");
// 전체 값 출력
for (const [key, value] of myMap) {
console.log(`Key: ${key}, Value: ${value}`);
}
셋(Set)
셋은 중복되지 않는 유일한 값들을 저장하는 자료구조입니다. 셋의 특징은 다음과 같습니다:
- 값의 중복 저장이 허용되지 않습니다.
- 값의 순서가 보장되지 않습니다.
- 객체, 함수 등 어떤 값이든 저장할 수 있습니다.
- 값 자체가 곧 키가 되기 때문에, 값으로 조회가 이루어집니다.
아래는 셋을 활용한 예제 코드입니다:
// 빈 셋 생성
const mySet = new Set();
// 값 추가
mySet.add("Apple");
mySet.add("Banana");
mySet.add("Orange");
mySet.add("Apple"); // 중복된 값이므로 무시됨
// 값 조회
console.log(mySet.has("Apple")); // true
console.log(mySet.has("Grapes")); // false
// 셋 크기 조회
console.log(mySet.size); // 3
// 값 삭제
mySet.delete("Orange");
// 전체 값 출력
for (const value of mySet) {
console.log(value);
}
맵과 셋 활용하기
자바스크립트의 맵과 셋은 다양한 상황에서 유용하게 활용될 수 있습니다. 몇 가지 예시는 다음과 같습니다:
- 맵을 사용하여 객체의 속성을 효율적으로 관리하고 조회합니다.
- 셋을 사용하여 중복된 값을 제거하거나, 고유한 값들의 집합을 생성합니다.
- 맵과 셋을 함께 사용하여 데이터를 필터링하거나, 데이터간의 연관 관계를 표현합니다.
맵과 셋은 자바스크립트의 강력한 기능으로, 직관적이고 유연한 데이터 구조를 제공합니다. 프로젝트에서 필요한 상황에 따라 적절하게 활용하여 코드를 깔끔하고 효율적으로 구현할 수 있습니다.