JavaScript Map과 Set 2주차 심층 탐구

2025-11-25 · Uncategorized · 읽는데 11분

JavaScript Map과 Set 2주차 심층 탐구
JavaScript는 다양한 프로그램을 개발하는 데 유용한 프로그래밍 언어입니다. 그러나 실제 세계의 복잡성을 반영하는 데는 한계가 있었습니다.

이러한 문제를 해결하기 위해 JavaScript는 Map과 Set이라는 새로운 데이터 구조를 도입하였습니다. 이 두 자료구조는 데이터의 구성, 검색, 사용을 보다 효율적으로 처리하는 데 큰 도움을 줍니다.

이번 글에서는 Map과 Set의 특징과 사용 방법에 대해 자세히 알아보겠습니다.

썸네일

JavaScript Map 키-값 쌍의 저장

Map 데이터 구조

Map은 JavaScript에서 키-값 쌍을 저장하기 위한 자료구조입니다. 객체와 유사하게 동작하지만, Map은 여러 가지 면에서 객체보다 더 유용한 기능을 제공합니다.

Map의 가장 큰 장점 중 하나는 키로 사용할 수 있는 데이터 타입의 제한이 없다는 점입니다. 즉, 문자열, 숫자, 객체 등 다양한 타입의 데이터를 키로 사용할 수 있습니다.

Map의 주요 특징

  1. 키와 값의 저장: Map은 키-값 쌍으로 데이터를 저장합니다. 예를 들어, myMap.set('key', 'value')와 같이 사용할 수 있습니다. 이를 통해 키를 사용하여 값에 쉽게 접근할 수 있습니다.

  2. 정렬된 순서: Map에 저장된 키는 입력한 순서대로 저장됩니다. 이는 데이터의 순서가 중요한 경우 유용합니다.

  3. 다양한 메서드: Map은 데이터 검색, 삭제, 존재 여부 확인 등을 위한 다양한 메서드를 제공합니다. 예를 들어, myMap.get('key')를 사용하여 특정 키에 대한 값을 가져올 수 있습니다.

  4. 크기 확인: 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 고유한 값의 저장

JavaScript 메서드

Set은 고유한 값을 저장하기 위한 자료구조입니다. Set에 저장된 값은 중복되지 않으며, 오직 유일한 요소만 포함됩니다.

이는 데이터의 중복을 허용하지 않는 경우에 매우 유용합니다.

Set의 주요 특징

  1. 고유한 값 저장: Set은 중복된 값을 자동으로 제거합니다. 따라서, 동일한 데이터를 여러 번 추가하려고 해도 Set은 한 번만 저장합니다.

  2. 값만 저장: Set은 키를 저장하지 않고 오직 값만 저장합니다. 이로 인해 Set은 Map보다 더 간단한 구조를 가지고 있습니다.

  3. 다양한 메서드: Set은 값 추가, 검색, 삭제 등의 기능을 위한 다양한 메서드를 제공합니다. 예를 들어, mySet.add('value1')를 사용하여 값을 추가할 수 있습니다.

  4. 크기 확인: 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은 이러한 방식으로 중복을 자동으로 제거하여 데이터의 일관성을 유지하는 데 도움을 줍니다. 고유한 값을 저장해야 할 상황에서 매우 유용하게 사용될 수 있습니다.

다른 내용도 보러가기 #1

결론 Map과 Set의 활용

데이터 정렬 순서

Map과 Set은 JavaScript에서 데이터 구조의 혁신을 가져왔습니다. Map은 키-값 쌍을 통해 데이터를 효율적으로 관리할 수 있는 방법을 제공하며, Set은 고유한 값을 저장하여 중복 문제를 해결하는 데 도움을 줍니다.

이러한 자료구조는 복잡한 데이터 관리가 필요한 상황에서 매우 유용하게 활용될 수 있습니다. 이러한 자료구조를 적절히 사용한다면 더욱 효율적이고 복잡한 프로그램을 개발할 수 있을 것입니다.

각각의 특징과 메서드를 알아보고 활용하는 것이 중요하며, 이를 통해 JavaScript의 데이터 처리 능력을 극대화할 수 있습니다. Map과 Set을 활용하여 여러분의 프로그래밍 능력을 한 단계 끌어올려 보시기 바랍니다.

관련 영상

같이 보면 좋은 글