Tang's
탕로그
Tang's
전체 방문자
오늘
어제
  • 분류 전체보기 (35)
    • FRONTEND (26)
      • JavaScript (6)
      • Algorithm (2)
      • CSS (2)
      • React (5)
      • Next.js (1)
      • 기타 (4)
      • 임시 (1)
      • 백만가지 ERROR (4)
      • 면접준비 (0)
      • project (1)
    • BACKEND (2)
      • Node.js (1)
      • MongoDB (1)
    • TODAY (7)
      • 생각 (1)
      • 회고 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Next.js 14
  • 회고
  • Turbopack
  • jest recoil
  • jest nextjs typescript
  • yarn create next-app
  • 신입 프론트엔드 개발자
  • 프론트엔드 면접질문
  • ec2 권한 설정
  • props와 state 차이점
  • nginx-proxy-manager
  • 프론트엔드 개발자 회고
  • docker-compose ci/cd
  • modal 제어
  • server action
  • jest react-query
  • jest
  • 신입 프론트엔드 개발자 회고
  • linux 폴더 권한
  • 개발자 회고
  • partial prerendering
  • jest 초기 세팅
  • 폴더 권한 설정
  • Nextjs docker
  • 폴더 권한 확인
  • 폴더 권한 변경
  • React
  • nextjs metadata
  • nextjs ci/cd
  • display:flex

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Tang's

탕로그

FRONTEND/JavaScript

[JS] Map()의 메서드 종류

2022. 8. 29. 20:41

1. new Map()

맵 생성

// Map() 생성
let map = new Map();

//데이터 저장
map.set(key, value);

//데이터 값 호출 - key에 해당하는 값이 없으면 undefined 반환
map.get(key);

//데이터 유무검사 - key가 존재하면 true, 없으면 false 
map.has(key);

//데이터 삭제 - key에 해당하는 값 삭제
map.delete(key);

//데이터 모두 삭제
map.clear();

//맵의 요소개수 반환
map.size
 
 

2.  Map()의 특징

맵은 키가 있는 데이터를 저장한다는 점에서 객체와 유사하지만, 객체가 못하는 키값으로 객체를 쓸 수 있다.
 
 
//Map()의 특징 : 객체를 키로 쓸 수 있다.

const obj = {
	name: 'tang'
}

let map = new Map(); // Map() 생성

map.set(obj, 123); // key, value 세팅

map.get(obj) // 123
 
 
객체를 키로 가져와서 value값인 123을 출력한다.
 
 
 
// 객체에서 key값으로 객체형값을 쓸 경우
const obj = {
	name: 'tang'
}

let newObj = {}; // 빈 객체 생성

newObj[obj] = 123; // 새로운 객체에 obj의 value값으로 123 세팅

console.log(newObj["object Object"]); // 123 
// 객체의 key자리에 들어가는 값은 모두 문자열로 자동 변환 된다. 따라서 "[object Object]"로 호출해줘야 한다.

 

3.  객체 -> Map()     or     Map() -> 객체로 변환하기

Object.entries() 와 Object.fromEntries() 를 사용한다.

// 객체를 Map()으로 변환하기( Object.entries() )

let obj = {
	name: 'tang'
}

let map = new Map(Object.entries(obj));

console.log(obj) // [ ['name', 'tang'] ]
console.log(map.get('name')) // 'tang'

 

// Map()을 객체로 변환하기 ( Object.fromEntries() )
let map = new Map();
map.set('name', 'tang');
map.set('age', 18);

let obj = Object.fromEntries(map); // 객체 변환

console.log(obj) // { name: 'tang', age: 18 }

Object.entries() 는 객체를 key,value 쌍의 배열로,

Object.fromEntries() 는 배열을 key,value 쌍의 객체형태로 변환한다.

'FRONTEND > JavaScript' 카테고리의 다른 글

[JS] FormData() 생성자에 데이터 추가하는 법  (0) 2022.08.31
[JS] arr.forEach() 와 arr.map()의 차이점!  (0) 2022.08.27
[JS] 버블정렬 알고리즘 오름차순, 내림차순  (0) 2022.08.25
[JS] 문자열을 배열로 바꾸고 공백 제거하기 (+배열 공백제거)  (0) 2022.08.23
[JS] 요소.getBoundingClientRect() 메서드 속성  (0) 2022.08.21
    'FRONTEND/JavaScript' 카테고리의 다른 글
    • [JS] FormData() 생성자에 데이터 추가하는 법
    • [JS] arr.forEach() 와 arr.map()의 차이점!
    • [JS] 버블정렬 알고리즘 오름차순, 내림차순
    • [JS] 문자열을 배열로 바꾸고 공백 제거하기 (+배열 공백제거)
    Tang's
    Tang's
    탕탕한 탕진의 기술 블로그!

    티스토리툴바