[javascript] 맵과 셋의 필터링 기능 사용 방법

자바스크립트에서 MapSet을 사용하여 데이터를 필터링하는 방법에 대해 알아봅시다.

맵(Map) 필터링

맵(Map)은 key-value 쌍의 컬렉션으로, Map.prototype.entries() 메서드를 사용하여 필터링할 수 있습니다. 예를 들어, 다음과 같은 Map이 있다고 가정해봅시다.

let map = new Map([
  ['apple', 1],
  ['banana', 2],
  ['orange', 3]
]);

이제 우리는 이 맵을 필터링하여 값을 기준으로 새로운 맵을 만들어 볼 수 있습니다.

let filteredMap = new Map([...map.entries()].filter(([key, value]) => value > 1));

console.log(filteredMap); // Map(2) { 'banana' => 2, 'orange' => 3 }

위의 예제에서, filter() 메서드를 사용하여 값이 1보다 큰 새로운 맵을 만들었습니다.

셋(Set) 필터링

셋(Set)은 중복을 허용하지 않는 값의 컬렉션으로, Set.prototype.values() 메서드를 사용하여 필터링할 수 있습니다. 예를 들어, 다음과 같은 Set이 있다고 가정해봅시다.

let set = new Set([1, 2, 3, 4, 5]);

이제 우리는 이 셋을 필터링하여 특정 조건을 만족하는 값만 남길 수 있습니다.

let filteredSet = new Set([...set.values()].filter(value => value > 2));

console.log(filteredSet); // Set(3) { 3, 4, 5 }

위의 예제에서, filter() 메서드를 사용하여 값이 2보다 큰 새로운 셋을 만들었습니다.

결론

맵과 셋을 필터링하는 방법에 대해 간단히 살펴보았습니다. 이러한 기능은 데이터를 다룰 때 유용하게 활용될 수 있습니다.

더 많은 정보는 MDN web docs에서 확인할 수 있습니다.

MDN web docs - Map.prototype.entries()

MDN web docs - Set.prototype.values()