JavaScript
Hash and Map
재키재키
2022. 4. 28. 23:40
1. Map
- The Map object holds key-value pairs and remembers the original insertion order of the keys. Any value (both objects and primitive values) may be used as either a key or a value.
- for . . . of loop returns an array of [key, value] for each iteration
2. 관련 함수들
- python의 dictionary와 다른 점은 접근, 수정시에 항상 set, get 매서드를 사용하여야 한다는 점이다.
const contacts = new Map()
contacts.set('Jessie', {phone: "213-555-1234", address: "123 N 1st Ave"})
contacts.has('Jessie') // true
contacts.get('Hilary') // undefined
contacts.set('Hilary', {phone: "617-555-4321", address: "321 S 2nd St"})
contacts.get('Jessie') // {phone: "213-555-1234", address: "123 N 1st Ave"}
contacts.delete('Raymond') // false
contacts.delete('Jessie') // true
console.log(contacts.size) // 1
3. 예제
: 주어진 문자열에서 가장 빈도수가 많은 단어를 찾으시오.
let str = 'BACBACCACCBDEDE'
let answer;
let sH = new Map(); // Map 객체 생성
for (let x of str) {
if (sH.has(x)) sH.set(x, sH.get(x) + 1);
else sH.set(x, 1);
}
let max = Number.MIN_SAFE_INTEGER;
for (let [key, val] of sH) {
if (val > max) {
max = val;
answer = key;
}
}