[JavaScript] Object vs Map

suno·2023년 4월 11일
0
post-thumbnail

Object vs Map

비교ObjectMap
Key문자열 또는 기호객체와 함수를 포함한 모든 데이터 유형
Size프로퍼티의 수key-value 쌍의 수
Iteration반복 순서를 보장하지 않음요소가 추가된 순서로 반복할 수 있음
for…of 구문 또는 forEach 메서드 사용 가능
Performance단순한 key-value 맵핑에 적합key-value 쌍을 자주 추가/삭제 할 때 적합

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 – 요소의 개수를 반환한다.

Object.entries

각 요소가 [key, value]인 배열을 맵으로 바꿀 수 있다.

let map = new Map([
  ['1',  'str1'],
  [1,    'num1'],
  [true, 'bool1']
]);

Object.fromEntries

각 요소가 [key, value]인 배열을 객체로 바꿀 수 있다.

let prices = Object.fromEntries(map.entries());
// let prices = Object.fromEntries(map); // .entries()를 생략 가능

// now prices = { banana: 1, orange: 2, meat: 4 }
profile
Software Engineer 🍊

0개의 댓글