[javascript] 맵과 셋을 활용한 데이터 통계 계산
맵(Map)과 셋(Set)은 자바스크립트에서 유용하게 활용되는 데이터 구조입니다. 맵은 키-값 쌍을 저장하고, 셋은 고유한 값들의 집합을 저장합니다. 이러한 데이터 구조를 활용하여 데이터의 통계를 계산할 수 있습니다.
데이터 수집 및 맵 활용
예를 들어, 여러 사람들의 나이 데이터를 다루는 경우를 살펴보겠습니다. 먼저, 나이 데이터를 수집하고 이를 맵에 저장할 수 있습니다.
const ages = new Map();
ages.set('John', 30);
ages.set('Anna', 25);
ages.set('Tom', 35);
// 필요한 만큼 데이터를 추가할 수 있습니다
위 예시에서 ages
맵은 각각의 키(사람 이름)에 해당하는 값(나이)을 저장합니다.
데이터 통계 계산
이제, 이러한 맵을 활용하여 데이터의 평균 나이, 최소/최대 나이 등의 통계를 계산해 볼 수 있습니다.
// 나이의 평균 계산
let sum = 0;
for (let age of ages.values()) {
sum += age;
}
const averageAge = sum / ages.size;
// 최소/최대 나이 계산
const minAge = Math.min(...ages.values());
const maxAge = Math.max(...ages.values());
위 코드에서는 맵의 값들을 순회하며 총합을 계산하여 평균을 구하고, Math.min
과 Math.max
를 활용하여 최소/최대 나이를 구하였습니다.
데이터 필터링 및 셋 활용
때로는 특정한 조건에 부합하는 데이터만을 따로 관리해야 할 때가 있습니다. 이때는 데이터 필터링을 통해 셋(Set)을 활용할 수 있습니다.
// 30세 이상의 사람들을 필터링하여 셋에 저장
const overThirtySet = new Set();
for (let [name, age] of ages.entries()) {
if (age >= 30) {
overThirtySet.add(name);
}
}
위 코드에서는 ages
맵을 순회하면서 나이가 30세 이상인 경우에 해당하는 사람 이름을 overThirtySet
셋에 추가하였습니다.
맵과 셋은 데이터를 효율적으로 관리하고 통계를 계산하는 데에 매우 유용한 도구입니다. 데이터 처리 및 통계 계산에 맵과 셋을 적재적소에 활용하여 코드를 더욱 간결하고 효율적으로 작성할 수 있습니다.
참고 자료
여기까지가 이번 블로그의 내용이었습니다. 다른 질문이 있으시면 언제든지 물어보세요!