본문 바로가기

Javascript

[Javascript] Map 객체와 map 메서드(반복문)의 차이

 

 

공부를 하다가 헷갈리는 부분이 생겼다.

분명 내가 알던 map 은 반복문이었는데??

map을 반복할 때 for...each를 사용한다고? 으잉?

map 자체가 반복문 아니였나?

뭐지? map을 사용하는 방법이 두개인 건가?

 

그리고 검색에 검색을 거쳐... 

이 두가지는 다른 것이란걸 알게되었다.

 


 

Map 객체와 map 메서드

 

Javascript 에는 Map 객체와 map 메서드, 이렇게 두가지가 있다.

이 둘은 서로 다른 목적과 맥락에서 사용된다.

아래에서 간단하게만 설명해 보겠다.

 

 

 

 

1. Map 객체

Map 객체는 Javascript 의 표준 내장 객체이다.

데이터를 저장하고 관리하며

키-값 쌍을 추가, 삭제, 업데이트 및 순환하는 등의 작업을 수행할 수 있다.

 

 

예시 코드

// 맵을 만든다.
const me = new Map();

// key를 이용해 value를 저장한다.
me.set('name', 'happy');
me.set('age', '33');


// key에 해당하는 값을 반환한다.
console.log(me.get('name')); // 'happy;

// 맵의 요소에 반복 작업
for (let info of me) {
    console.log(info) // ['name','happy'] ['age', '33']
}

 

 

 

2. map() 메서드

Array.prototype.map()

map 메서드는  '배열' 내의 모든 요소 각각에 대하여

주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다.

이 메서드는 Map 객체처럼 키-값 쌍을 생성하지 않는다.

 

 

예시 코드

const numbers = [1, 2, 3, 4];

// numbers를 반복
const squaredNumbers = numbers.map((num) => num * num);

console.log(squaredNumbers); // [1, 4, 9, 16]

 

 


 

요약하자면 Map 객체는 키-값 쌍을 저장하는 데이터 구조이고,

map 메서드는 배열 내 요소를 변환하기 위한 함수이다.

Map 객체는 데이터 관리에 유용하고 map 메서드는 배열 내 데이터 변환에 사용된다.