Set, Map, Array는 모두 자바스크립트에서 데이터를 저장하고 관리하기 위한 자료구조입니다. 그러나 각각의 특징과 사용 용도에는 몇 가지 차이점이 있습니다.
Array (배열):
Set (집합):
Map (맵):
요약하자면, 배열은 순서가 있는 데이터의 집합을 다루고, Set은 유일한 값을 가지는 집합을 다루며, Map은 키와 값의 쌍을 다룹니다. 각각의 자료구조는 다른 용도에 맞게 설계되었으며, 데이터의 특성과 조작 방식에 따라 선택하여 사용할 수 있습니다.
실제로 자주 사용되는 Map과 Set의 예시를 몇 가지 소개해드리겠습니다:
Map의 예시:
const userMap = new Map();
userMap.set(1, { name: "John", age: 30 });
userMap.set(2, { name: "Jane", age: 25 });
console.log(userMap.get(1)); // { name: "John", age: 30 }
const objectMap = new Map();
const obj1 = { id: 1 };
const obj2 = { id: 2 };
objectMap.set(obj1, "Value 1");
objectMap.set(obj2, "Value 2");
console.log(objectMap.get(obj1)); // "Value 1"
Set의 예시:
const numbers = [1, 2, 3, 4, 2, 3, 5, 1];
const uniqueNumbers = new Set(numbers);
console.log(uniqueNumbers); // Set { 1, 2, 3, 4, 5 }
const selectedTags = new Set();
function addTag(tag) {
selectedTags.add(tag);
}
function removeTag(tag) {
selectedTags.delete(tag);
}
addTag("JavaScript");
addTag("HTML");
addTag("CSS");
console.log(selectedTags); // Set { "JavaScript", "HTML", "CSS" }
removeTag("HTML");
console.log(selectedTags); // Set { "JavaScript", "CSS" }
위의 예시들은 Map과 Set을 활용하여 다양한 상황에서 데이터를 구성하고 관리하는 방법을 보여줍니다. 실제로는 프로그램의 요구사항과 데이터 구조에 맞게 Map과 Set을 활용하여 더 복잡하고 유용한 기능을 구현할 수 있습니다.