MAP 기능
set(key, value)
// 새로운 키-값 쌍을 추가
const map = new Map();
map.set('name', 'Alice');
get(key)
// 특정 키로 지정된 값 반환
const name = map.get('name'); // Alice
has(key)
// Map 객체가 특정 키를 가지고 있는지 여부를 반환
console.log(map.has('name')); // true
console.log(map.has('age')); // false
delete(key)
// Map 객체에서 특정 키의 항목을 삭제
map.delete('name');
clear()
// Map 객체의 모든 항목을 제거
map.clear();
size()
// Map 객체의 키-값 쌍의 개수를 반환
console.log(map.size()); // 1
keys()
// Map 객체의 모든 키를 반환하는 새로운 Iterator 객체를 반환
for (const key of map.keys()) {
console.log(key);
}
values()
// Map 객체의 모든 값들을 반환하는 새로운 Iterator 객체를 반환
for (const value of map.values()) {
console.log(value);
}
entries()
// Map 객체의 모든 키-값 쌍들을 반환하는 새로운 Iterator 객체를 반환
for (const [key, value] of map.entries()) {
console.log(key, value);
}
forEach(callbackFn[, thisArg])
// Map 객체의 forEach 메서드는 키-값 쌍 각각에 대하여 제공된 함수를 호출
map.forEach((value, key) => {
console.log(key, value);
});
최빈값 구하기
function solution(array) {
let m = new Map();
for (let n of array) m.set(n, (m.get(n) || 0) + 1);
console.log(m)
m = [...m].sort((a, b) => b[1] - a[1]);
return m.length === 1 || m[0][1] > m[1][1] ? m[0][0] : -1;
}
Iterator (반복자) 기능
컬렉션의 요소(예: 배열, 문자열 또는 맵) 를
순차적으로 탐색하는 메커니즘을 제공하는
JavaScript(및 기타 프로그래밍 언어) 의 개체
Iterator 에는 일련의 요소에서 위치를
추적하는 기능이 포함되어 있어 각 요소를 차례로 처리
@ 요소 액세스
반복자를 사용하면 컬렉션의 요소에 하나씩 액세스 가능
@ 추적 위치
일련의 요소 내에서 현재 위치를 추적
@ 인덱스 필요 없음
인덱스 위치를 사용할 필요가 없음
이는 연결된 목록이나 트리와 같이 데이터 구조에서
인덱싱을 사용하지 않는 경우에 유용 가능
@ 균일한 인터페이스
배열, 맵, 세트 등과 같은 다양한 유형의
데이터 컬렉션을 탐색하기 위한 균일한 인터페이스를 제공
> next() 라는 메서드 사용 가능
두 가지 속성이 있는 객체를 반환
값: 반복의 현재 항목을 나타냅니다.
done: 데이터 구조의 마지막 항목에 도달한 경우
true를 나타내는 부울
for ... of 반복문
const array1 = ['a', 'b', 'c'];
for (const element of array1) {
console.log(element);
}