[Javascript] Map 사용법

2021. 6. 8. 12:10·Language/JS
반응형

자바스크립트에서 map은 두 가지이다.

1. Array.prototype.map() : 특정 배열 내 모든 요소에 대해 각각 함수를 적용하고, 이 결과를 모아 새로운 배열 반환
2. Map: Java의 HashMap, Python의 dictionary와 같은 {key:value}로 이루어진 자료구조

이번 게시글에서는 2번 Map에 대하여 다룬다.

 


1. Map이란?

Map 객체는 키-값 쌍을 저장하며 각 쌍의 삽입 순서도 기억하는 콜렉션입니다. 아무 값(객체와 원시 값)이라도 키와 값으로 사용할 수 있습니다.
- MDN Web Docs -

맵은 쉽게 말해서 Java의 HashMap, Python의 Dictionary와 같은 자료구조이다.

key: value의 형식으로 저장되며, key값을 사용하여 해당 key에 맞는 value값을 가져올 수 있다.

 

map은 키-값 쌍의 자료구조이기 때문에 얼핏 보면 map과 object가 동일한 것처럼 보일 수 있는데, 엄연히 둘은 다르다.

출처: MDN(https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Map)

 

2. Map.*

1) Map.length: 값이 0인 속성.

2) Map.size: 맵의 키-값 쌍 갯수

3) Map.clear(): 맵 초기화

4) Map.entries(): 맵의 모든 키-값 쌍을 [key, value] 형태의 array로 만들어서 반환

5) Map.forEach(): 맵의 모든 키-값 쌍에 대해서 콜백함수 사용

6) Map.get(key): key값에 맞는 value값 반환

7) Map.delete(key): key-value 쌍 삭제

8) Map.has(key): 해당 key가 Map에 포함되어 있는지 확인

9) Map.keys(): 맵의 모든 key들을 반환

10) Map.set(key, value): 맵에 key-value 쌍을 집어넣음

 

 

3. 예시 코드

let myMap = new Map()

let keyString = '문자열'
let keyObj    = {}
let keyFunc   = function() {}

// 값 설정
myMap.set(keyString, "'문자열'과 관련된 값")
myMap.set(keyObj, 'keyObj와 관련된 값')
myMap.set(keyFunc, 'keyFunc와 관련된 값')

myMap.size              // 3

// getting the values
myMap.get(keyString)    // "'문자열'과 관련된 값"
myMap.get(keyObj)       // "keyObj와 관련된 값"
myMap.get(keyFunc)      // "keyFunc와 관련된 값"

myMap.get('문자열')    // "'문자열'과 관련된 값"
                         // keyString === '문자열'이기 때문
myMap.get({})            // undefined, keyObj !== {}
myMap.get(function() {}) // undefined, keyFunc !== function () {}

// 출처: MDN(https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Map)

 

반응형
저작자표시 (새창열림)

'Language > JS' 카테고리의 다른 글

[Javascript] 자바스크립트 문자열 뒤집기  (0) 2021.06.15
[Javascript] 디바운싱과 쓰로틀링 / 연속 이벤트 제어  (0) 2021.06.08
[Javascript] 일반 함수 vs 익명 함수  (4) 2021.05.28
[Javascript] for 반복문 종류 ( for / for-in / for-of )  (0) 2021.05.10
[Javascript] var, let, const 차이 / 자바스크립트 변수 상수  (0) 2021.01.05
'Language/JS' 카테고리의 다른 글
  • [Javascript] 자바스크립트 문자열 뒤집기
  • [Javascript] 디바운싱과 쓰로틀링 / 연속 이벤트 제어
  • [Javascript] 일반 함수 vs 익명 함수
  • [Javascript] for 반복문 종류 ( for / for-in / for-of )
개발하는 사막여우
개발하는 사막여우
개발개발 주저리주저리
    반응형
  • 개발하는 사막여우
    개발하는 사막여우
    개발하는 사막여우
  • 전체
    오늘
    어제
    • All (311)
      • Books (13)
        • 읽기 좋은 코드가 좋은 코드다 (13)
      • Study (6)
        • Blockchain (3)
        • Algorithm (3)
      • Baekjoon (36)
      • Programmers (166)
      • LeetCode (15)
      • Open Source (1)
        • Youtube Popout Player (1)
      • Language (32)
        • Python (9)
        • JS (8)
        • Java (5)
        • HTML (6)
        • CSS (4)
      • Library & Framework (15)
        • React.js (15)
      • IDE (2)
        • IntelliJ (2)
      • Airdrop (9)
      • Tistory (2)
      • etc.. (7)
        • Cozubi (6)
        • lol-chess (0)
  • 블로그 메뉴

    • Github
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    코인줍줍
    코딩테스트연습
    Java
    클린 코드
    프로그래머스 위클리 챌린지
    백준
    Python
    클린 코드 작성법
    Cozubi
    신규 코인 에어드랍
    파이썬
    카카오 코딩테스트
    카카오 알고리즘 문제
    카카오 공채
    프로그래머스
    읽기 좋은 코드가 좋은 코드다
    programmers
    알고리즘문제풀이
    코주비
    2018 KAKAO BLIND RECRUITMENT
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
개발하는 사막여우
[Javascript] Map 사용법
상단으로

티스토리툴바