[javascript] 맵과 셋을 활용한 데이터 정렬
자바스크립트에서 데이터를 다룰 때 맵과 셋은 매우 유용한 도구입니다. 이 두 가지 자료 구조를 활용하여 데이터를 쉽게 정렬할 수 있습니다.
맵(Map)
맵은 키-값(key-value) 쌍의 집합으로, 순서에 상관없이 데이터를 저장합니다. 맵을 사용하면 데이터를 효율적으로 관리할 수 있으며, 특정 키에 해당하는 값을 가져오거나 수정할 수 있습니다.
// 맵 생성
let employeeMap = new Map();
// 데이터 추가
employeeMap.set('John', 4000);
employeeMap.set('Jane', 3000);
employeeMap.set('Bob', 3500);
// 데이터 조회
console.log(employeeMap.get('Jane')); // 3000
셋(Set)
셋은 고유한 값의 집합으로, 중복을 허용하지 않습니다. 셋을 사용하면 중복을 제거하고 데이터를 관리할 수 있습니다.
// 셋 생성
let uniquePrices = new Set();
// 데이터 추가
uniquePrices.add(100);
uniquePrices.add(200);
uniquePrices.add(100); // 중복된 값이므로 추가되지 않음
// 데이터 조회
console.log(uniquePrices); // Set { 100, 200 }
데이터 정렬
맵과 셋을 활용하여 데이터를 정렬할 수 있습니다. 예를 들어, 맵을 값으로 정렬하거나 셋을 배열로 변환하여 정렬할 수 있습니다.
// 맵의 값으로 정렬
let sortedEmployeeMap = new Map([...employeeMap.entries()].sort((a, b) => a[1] - b[1]));
// 셋을 배열로 변환하여 정렬
let sortedPrices = [...uniquePrices].sort((a, b) => a - b);
맵과 셋을 활용하여 데이터를 쉽게 정렬할 수 있으며, 이를 통해 보다 효율적으로 데이터를 다룰 수 있습니다.
참조: MDN Web Docs - Map, MDN Web Docs - Set
위의 예시 코드를 참고하여 맵과 셋을 활용한 데이터 정렬에 대해 더 알아보았습니다. 부족한 부분이 있다면 말씀해 주시면 추가 도움을 드리겠습니다.