![]()
JavaScript Map 키-값 쌍의 저장

Map은 JavaScript에서 키-값 쌍을 저장하기 위한 자료구조입니다. 객체와 유사하게 동작하지만, Map은 여러 가지 면에서 객체보다 더 유용한 기능을 제공합니다.
Map의 가장 큰 장점 중 하나는 키로 사용할 수 있는 데이터 타입의 제한이 없다는 점입니다. 즉, 문자열, 숫자, 객체 등 다양한 타입의 데이터를 키로 사용할 수 있습니다.Map의 주요 특징
-
키와 값의 저장: Map은 키-값 쌍으로 데이터를 저장합니다. 예를 들어,
myMap.set('key', 'value')와 같이 사용할 수 있습니다. 이를 통해 키를 사용하여 값에 쉽게 접근할 수 있습니다. -
정렬된 순서: Map에 저장된 키는 입력한 순서대로 저장됩니다. 이는 데이터의 순서가 중요한 경우 유용합니다.
-
다양한 메서드: Map은 데이터 검색, 삭제, 존재 여부 확인 등을 위한 다양한 메서드를 제공합니다. 예를 들어,
myMap.get('key')를 사용하여 특정 키에 대한 값을 가져올 수 있습니다. -
크기 확인:
myMap.size를 사용하여 Map에 저장된 키-값 쌍의 개수를 쉽게 확인할 수 있습니다.
아래는 Map의 주요 메서드를 정리한 표입니다.
| 메서드 | 설명 |
|---|---|
| set(key, value) | 주어진 키에 대한 값을 설정합니다. |
| get(key) | 주어진 키에 대한 값을 반환합니다. |
| delete(key) | 주어진 키와 해당 값을 삭제합니다. |
| has(key) | 주어진 키가 Map에 존재하는지 확인합니다. |
| clear() | Map의 모든 키-값 쌍을 제거합니다. |
| keys() | Map의 모든 키를 반복하는 이터레이터를 반환합니다. |
| values() | Map의 모든 값을 반복하는 이터레이터를 반환합니다. |
| entries() | Map의 모든 키-값 쌍을 반복하는 이터레이터를 반환합니다. |
Map 사용 예제
```javascript const myMap = new Map(); myMap.set('one', 1); myMap.set('two', 2); myMap.set('three', 3);
// 값 출력 console.log(myMap.get('one')); // 1 console.log(myMap.get('two')); // 2
// Map의 크기 확인 console.log(myMap.size); // 3
// Map의 키와 값 반복하기 for (const key of myMap.keys()) { console.log(key); // 'one', 'two', 'three' }
for (const value of myMap.values()) { console.log(value); // 1, 2, 3 }
for (const entry of myMap.entries()) { console.log(entry); // [ 'one', 1 ], [ 'two', 2 ], [ 'three', 3 ] }
// 키의 존재 여부 확인 console.log(myMap.has('two')); // true ```
Map은 이렇게 간단한 구문으로도 다양한 데이터를 효율적으로 관리할 수 있도록 도와줍니다. 키와 값을 한 쌍으로 묶어 저장하므로, 특정 값을 찾거나 삭제할 때 유용합니다.
JavaScript Set 고유한 값의 저장

Set은 고유한 값을 저장하기 위한 자료구조입니다. Set에 저장된 값은 중복되지 않으며, 오직 유일한 요소만 포함됩니다.
이는 데이터의 중복을 허용하지 않는 경우에 매우 유용합니다.Set의 주요 특징
-
고유한 값 저장: Set은 중복된 값을 자동으로 제거합니다. 따라서, 동일한 데이터를 여러 번 추가하려고 해도 Set은 한 번만 저장합니다.
-
값만 저장: Set은 키를 저장하지 않고 오직 값만 저장합니다. 이로 인해 Set은 Map보다 더 간단한 구조를 가지고 있습니다.
-
다양한 메서드: Set은 값 추가, 검색, 삭제 등의 기능을 위한 다양한 메서드를 제공합니다. 예를 들어,
mySet.add('value1')를 사용하여 값을 추가할 수 있습니다. -
크기 확인:
mySet.size를 사용하여 Set에 저장된 값의 개수를 쉽게 확인할 수 있습니다.
아래는 Set의 주요 메서드를 정리한 표입니다.
| 메서드 | 설명 |
|---|---|
| add(value) | 주어진 값을 Set에 추가합니다. |
| delete(value) | 주어진 값을 Set에서 삭제합니다. |
| has(value) | 주어진 값이 Set에 존재하는지 확인합니다. |
| clear() | Set의 모든 값을 제거합니다. |
| values() | Set의 모든 값을 반복하는 이터레이터를 반환합니다. |
Set 사용 예제
```javascript const mySet = new Set(); mySet.add('value1'); mySet.add('value2'); mySet.add('value3'); mySet.add('value1'); // 중복된 값 추가
// Set의 크기 확인 console.log(mySet.size); // 3
// Set의 값 반복하기 for (const value of mySet.values()) { console.log(value); // 'value1', 'value2', 'value3' }
// 값의 존재 여부 확인 console.log(mySet.has('value1')); // true console.log(mySet.has('value4')); // false ```
Set은 이러한 방식으로 중복을 자동으로 제거하여 데이터의 일관성을 유지하는 데 도움을 줍니다. 고유한 값을 저장해야 할 상황에서 매우 유용하게 사용될 수 있습니다.
결론 Map과 Set의 활용

Map과 Set은 JavaScript에서 데이터 구조의 혁신을 가져왔습니다. Map은 키-값 쌍을 통해 데이터를 효율적으로 관리할 수 있는 방법을 제공하며, Set은 고유한 값을 저장하여 중복 문제를 해결하는 데 도움을 줍니다.
이러한 자료구조는 복잡한 데이터 관리가 필요한 상황에서 매우 유용하게 활용될 수 있습니다. 이러한 자료구조를 적절히 사용한다면 더욱 효율적이고 복잡한 프로그램을 개발할 수 있을 것입니다.각각의 특징과 메서드를 알아보고 활용하는 것이 중요하며, 이를 통해 JavaScript의 데이터 처리 능력을 극대화할 수 있습니다. Map과 Set을 활용하여 여러분의 프로그래밍 능력을 한 단계 끌어올려 보시기 바랍니다.