[javascript] 맵과 셋을 활용한 데이터 그룹화

자바스크립트에서 데이터를 효율적으로 그룹화하고 조작하기 위해 Map과 Set을 활용할 수 있습니다. Map은 키-값 쌍을 저장하는 컬렉션으로, 순서를 유지하며 반복 가능합니다. Set은 고유한 값을 저장하는 컬렉션으로, 중복된 값을 허용하지 않습니다.

Map을 사용한 데이터 그룹화

Map을 사용하여 데이터를 그룹화하면 키-값 쌍을 쉽게 다룰 수 있습니다. 예를 들어 사용자의 이름과 나이를 저장하는 Map을 만들어보겠습니다.

const userAgeMap = new Map();
userAgeMap.set('Alice', 30);
userAgeMap.set('Bob', 25);
userAgeMap.set('Charlie', 35);

위 예제에서 set 메서드를 사용하여 각 사용자의 이름과 나이를 추가했습니다. 이제 특정 사용자의 나이를 가져오거나 모든 사용자를 반복하면서 처리할 수 있습니다.

// 나이 가져오기
console.log(userAgeMap.get('Alice')); // 30

// 모든 사용자 반복하기
for (const [name, age] of userAgeMap) {
  console.log(`${name}: ${age}`);
}

위 코드를 실행하면 Alice의 나이를 가져오고, 모든 사용자의 이름과 나이를 출력할 수 있습니다.

Set을 사용한 데이터 그룹화

Set을 사용하여 데이터를 그룹화하면 중복된 값을 피하고 고유한 값들을 저장할 수 있습니다. 예를 들어 중복을 제거한 배열을 Set을 사용하여 만들어보겠습니다.

const numbers = [1, 2, 3, 2, 4, 5, 1];
const uniqueNumbers = new Set(numbers);
console.log(uniqueNumbers); // Set { 1, 2, 3, 4, 5 }

위 예제에서 배열 numbers에 있는 중복된 값들을 Set을 사용하여 제거하고, 고유한 값들만을 가지는 uniqueNumbers를 생성했습니다.

결론

Map과 Set은 데이터를 그룹화하고 조작하는 데 유용한 도구입니다. Map은 키와 값의 쌍을 다루는 데 효과적이며, Set은 중복을 제거하고 고유한 값을 다룰 때 효과적입니다. 이러한 자바스크립트의 내장 컬렉션을 활용하여 데이터를 더 효율적으로 다룰 수 있습니다.

맵과 셋 개념과 활용에 대해 더 알고 싶다면, MDN 웹 문서의 MapSet 페이지를 참고하시기 바랍니다.