[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

위의 예시 코드를 참고하여 맵과 셋을 활용한 데이터 정렬에 대해 더 알아보았습니다. 부족한 부분이 있다면 말씀해 주시면 추가 도움을 드리겠습니다.