[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.minMath.max를 활용하여 최소/최대 나이를 구하였습니다.

데이터 필터링 및 셋 활용

때로는 특정한 조건에 부합하는 데이터만을 따로 관리해야 할 때가 있습니다. 이때는 데이터 필터링을 통해 셋(Set)을 활용할 수 있습니다.

// 30세 이상의 사람들을 필터링하여 셋에 저장
const overThirtySet = new Set();
for (let [name, age] of ages.entries()) {
  if (age >= 30) {
    overThirtySet.add(name);
  }
}

위 코드에서는 ages 맵을 순회하면서 나이가 30세 이상인 경우에 해당하는 사람 이름을 overThirtySet 셋에 추가하였습니다.

맵과 셋은 데이터를 효율적으로 관리하고 통계를 계산하는 데에 매우 유용한 도구입니다. 데이터 처리 및 통계 계산에 맵과 셋을 적재적소에 활용하여 코드를 더욱 간결하고 효율적으로 작성할 수 있습니다.

참고 자료


여기까지가 이번 블로그의 내용이었습니다. 다른 질문이 있으시면 언제든지 물어보세요!