일단 컬렉션 객체(추가적인 자료구조)를 쓰는 이유
중복 제거 및 고유한 값 관리:
Set은 중복을 허용하지 않는 특성을 가지기 때문에 중복된 값을 저장하지 않고 고유한 값들의 컬렉션을 관리할 수 있다.
효율적인 데이터 검색:
Map은 키-값 쌍을 저장하고, 키를 사용하여 값을 조회하는 데 효율적이다.
키를 기반으로 빠르게 값을 검색하고 필요한 정보를 쉽게 가져올 수 있습니다.
순서 유지:
Map은 데이터를 저장한 순서를 보존하기 때문에, 데이터의 순서가 중요한 경우 유용하게 사용된다.
입력한 순서대로 데이터를 유지하고 처리할 수 있다.
다양한 데이터 타입 사용:
Map은 키로 다양한 데이터 타입을 사용할 수 있다.
객체, 함수, 숫자, 문자열 등을 키로 활용하여 원하는 방식으로 데이터를 구조화할 수 있다.
코드 가독성과 유지보수성:
컬렉션 객체를 사용하여 데이터를 구조화하면 코드의 가독성과 유지보수성이 향상된다.
컬렉션 객체를 사용하면 데이터의 구조와 관련된 작업을 더 명확하게 표현할 수 있으며, 데이터 관리와 관련된 작업을 더 쉽게 처리할 수 있다.
MAP과 Set
Map과 Set은 데이터의 저장과 조회에 있어 유용한 기능을 제공한다.
Map은 키-값 쌍을 저장하고 검색할 때 사용되며, Set은 고유한 값들의 컬렉션을 관리할 때 사용된다.
이러한 컬렉션 객체는 자바스크립트에서 데이터를 효율적으로 구조화하고 관리하는 데 도움을 준다.
MAP
-Map은 키(Key)와 값(Value)의 쌍을 저장한다.
-키는 중복되지 않으며, 각 키에 대응하는 값에 접근할 수 있다.
-객체와 달리 순서가 보존되므로 원하는 순서로 아이템을 순회할 수 있다.
-다양한 데이터 타입을 키로 사용할 수 있으며, 객체도 키로 사용할 수 있다.
-검색,삭제,제거,여부확인 등의 기능이 있다.
-Symbol.iterator 속성을 가지고 있어서 for...of 문을 사용할 수 있다.
const map = new Map(); // map() 생성자
map.set('name', 'John'); // map에 값 추가 (key,value)
map.set('age', 30);
console.log(map.get('name')); // 'John' (값 검색, value 출력)
console.log(map.has('age')); // true
console.log(map.size); // 2
map.delete('age');
console.log(map.size); // 1
** map의 주요 메서드
- new Map() – 맵을 만듭니다.
- map.set(key, value) – key를 이용해 value를 저장합니다.
- map.get(key) – key에 해당하는 값을 반환합니다. key가 존재하지 않으면 undefined를 반환합니다.
- map.has(key) – key가 존재하면 true, 존재하지 않으면 false를 반환합니다.
- map.delete(key) – key에 해당하는 값을 삭제합니다.
- map.clear() – 맵 안의 모든 요소를 제거합니다.
- map.size – 요소의 개수를 반환합니다.
**⭐map의 반복문 (for ...of) - Symbol.iterator 속성을 가지고있어서 사용가능
const myMap = new Map();
myMap.set('one', 1);
myMap.set('two', 2);
myMap.set('three', 3);
for (const key of myMap.keys()) {
console.log(key);
}
// 출력:
// "one"
// "two"
// "three"
for (const value of myMap.values()) {
console.log(value);
}
// 출력:
// 1
// 2
// 3
for (const entry of myMap.entries()) {
console.log(`${entry[0]}: ${entry[1]}`);
}
// 출력:
// "one: 1"
// "two: 2"
// "three: 3"
**map의 크기 및 존재 여부 확인
// map의 크기 확인
console.log(myMap.size); // 3 출력
//특정 키가 map에 존재하는지 여부 확인 !!
console.log(myMap.has('two')); // true 출력
Set
-Set은 중복되지 않는 값을 저장한다. 각 값은 유일해야 하며, 순서가 보존된다.
-주로 중복을 제거하기 위해 사용하거나, 데이터의 고유성을 검사하는 용도로 활용된다.
-주요 메서드: add(value), has(value), delete(value), size, clear() 등
const set = new Set(); // Set() 생성자
set.add('apple'); // Set에 값 추가
set.add('banana');
set.add('apple'); // 중복된 값은 추가되지 않음
console.log(set.has('banana')); // true , Set에서 값을 검색!!
console.log(set.size); // 2
set.delete('banana');
console.log(set.size); // 1
**Set의 반복
-values() 메소드를 사용해 값을 반복할 수 있다.
const mySet = new Set();
mySet.add('value1');
mySet.add('value2');
mySet.add('value3');
for (const value of mySet.values()) {
console.log(value);
}
**Set의 크기 및 존재 여부 확인
// set의 크기 확인
console.log(mySet.size); // 3 출력
// 존재 여부 확인
console.log(mySet.has('value2')); // true 출력
'JavaScript > study' 카테고리의 다른 글
| [javascript] ⭐⭐객체의 가변값과 가변성 (with, 참조형 데이터) / 얕은복사 깊은복사 (0) | 2023.05.23 |
|---|---|
| [javascript] 데이터타입의 종류 (기본형, 참조형) (0) | 2023.05.23 |
| [javascript] ⭐⭐⭐⭐⭐ 자바스크립트 함수는 일급 객체로 간주됨 (0) | 2023.05.22 |
| [javascript] ES6 템플릿 리터럴 (Template literals), 백틱 (0) | 2023.05.22 |
| [javascript] ES6 단축 속성명 (0) | 2023.05.22 |