JS/JS 공부

[JS] Map

congs 2023. 4. 18. 11:18

map

: key / value 형태의 데이터를 한개의 배열로 만들어서 다시 배열에 저장하는 방식

  • 기본적으로 중첩구조를 가지고 있기때문에 key중복확인 필수!
  •  key를 식별자로 사용하기 때문에 중복x 
  • get (KeyName, value) 메서드 제공
  • 2차원 배열 형태와 비슷한 구조
  • key의 타입은 문자로 하는 것이 원칙 = key의 타입이 달라지면 관리 어려움
  • 객체의 속성명도 문자로 하는 것이 원칙

 

선언 및 초기화

new Map();
new Map( [ 'key' ,  'value' ] , [ 'key1' , 'value1' ] ... );

 

예시

과목, 점수를 map에 저장하고 합계,평균 등 출력

과목, 점수를 map에 저장하고 합계,평균 등 출력


 

map의 key만 출력

console.log(myMap.keys());

 

 

 

set(key, value)   키에 해당하는 값 변경(없으면 삽입)  

<script>
        const myMap = new Map();
        myMap.set('html',85);
        myMap.set('css',90);
        myMap.set('js',75);
        console.log(myMap);
</script>

 

get(key)   key에 해당하는 value값 리턴

 <script>
	const myMap = new Map();
        myMap.set('js',75);
        
        console.log(myMap.get('js')); //75
    </script>

 

delete(key)   key에 해당하는 값 삭제

<script>
        myMap.delete('css');
</script>

 

has(key)   데이터의 존재여부를 true / false 

<script>
        console.log(myMap.has('css')); //false
</script>

 

forEach(callback function)   map 순환

<script>
        myMap.forEach(function(value, index, self){
            console.log(index, value, self);
        })

        console.log(myMap.entries());

         for(const e of myMap.entries()){
            console.log(e); // [key,value]로 묶어 출력
        }

        for(const e of myMap.entries()){
            e.forEach(function(v, k){
                console.log(k,v); // 하나씩 key - value - key - value순 출력 
            })
        }
  </script>

 

 

size    map 개수

  console.log(myMap.size); //2

 

 

'JS > JS 공부' 카테고리의 다른 글

[JS] try~catch 예외 처리  (0) 2023.04.18
[JS] set  (0) 2023.04.18
[JS] 새로고침, 취소 location.reload  (0) 2023.04.18
[JS] 데이터 구조화  (0) 2023.04.17
[JS] 정규표현식 Regular Expression  (0) 2023.04.17