[javascript] 맵과 셋의 활용 예시: 단어 빈도 계산

자바스크립트에서 맵(Map)셋(Set)은 매우 유용한 데이터 구조입니다. 여기에는 특정 상황에서 이 두 가지 구조체를 어떻게 사용하는지에 대한 예시가 포함되어 있습니다.

셋(Set)

셋은 중복을 허용하지 않는 값들의 모음입니다. 예를 들어, 중복된 단어를 제거하기 위해 셋을 사용할 수 있습니다.

const words = ['apple', 'banana', 'apple', 'orange', 'banana'];
const uniqueWords = new Set(words);
console.log(uniqueWords); // Set { 'apple', 'banana', 'orange' }

위 예시에서, words 배열의 중복된 값들이 제거되고, 셋인 uniqueWords에 저장됩니다.

맵(Map)

맵은 값과 키의 쌍(pair)을 저장하는데 사용됩니다. 단어의 빈도를 계산하기 위해 맵을 사용할 수 있습니다.

const words = ['apple', 'banana', 'apple', 'orange', 'banana'];
const wordCount = new Map();

words.forEach(word => {
  if (wordCount.has(word)) {
    wordCount.set(word, wordCount.get(word) + 1);
  } else {
    wordCount.set(word, 1);
  }
});

console.log(wordCount);
// Map { 'apple' => 2, 'banana' => 2, 'orange' => 1 }

위 예시에서, wordCount 맵은 각 단어의 빈도를 저장하고 있습니다.

이러한 방식으로, 맵과 셋을 사용하여 데이터를 효율적으로 구성하고 관리할 수 있습니다.

결론

맵과 셋은 자바스크립트에서 다양한 상황에 유용하게 사용될 수 있는 데이터 구조체입니다. 단어의 빈도를 계산하거나 중복된 값들을 제거하는 등 다양한 작업에 활용할 수 있습니다.