[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 웹 문서의 Map 및 Set 페이지를 참고하시기 바랍니다.