HYEWON JUNG의 개발일지
Map(); 본문
데이터 구성, 검색 , 사용을 효율적으로 처리
=> key / value = key에 어떤 데이터 타입도 들어올 수 있다.
=> Map은 key 가 정렬된 순서로 저장되기 때문
=> 기능 (검색, 삭제, 제거, 여부확인)
=> 반복 method (keys(), values(), entries())
const myMap = new Map();
myMap.set ('key', 'value'); // 넣기
.
.
.
myMap.get('key')//가져오기
↓↓
const myMap = new Map();
myMap.set("one", 1)
myMap.set("two", 2)
myMap.set("three", 3)
//반복자(keys, values, entries)
//반복자를 풀지 않고 그대로 쓸 경우
console.log(myMap.keys()) // Map Iterator {one, two, three}
/for문을 사용 할 경우
for(const key of myMap.keys()){
console.log(key)
}//one two three
for(const value of myMap.values()){
console.log(value)
}//1 2 3
for(const entry of myMap.entries()){
console.log(entry)
}//['one', 1]['two', 2]['three', 3]
Map의 길이 확인 법
console.log(myMap.size)
Map에 내용이 있는지 검색?
console.log(myMap.has("two")) //true
=> key 기반 존재 검색
const arr = [1, 2, 33, 14, 5]
const result = arr.Map(function(value, idx){
return 새로만들 배열의 조건 예를 들어 value * 2
})
console.log(result)// [2, 4, 66, 28, 10]
cosnt arr = [1, 5, 3 ,8 ,9]
const result= arr.Map(function(value, idx){
return {
key : idx
value : value * 3
}
})
console.log(result)
//[{key 0: , value: 3}]
//[{key 1: , value: 15}]
//[{key 2: , value: 9}]
//[{key 3: , value: 24}]
//[{key 4: , value: 27}]
filter와 return 값으로 새 배열을 내놓는 것은 같지만 Map의 경우 무조건 배열의 갯수 만큼 뱉어낸다.
+chaining


'JavaScript' 카테고리의 다른 글
콜백함수 (제어권, this binding) (0) | 2023.10.30 |
---|---|
실행컨텍스트(VE, LE, record, hoisting 등) (0) | 2023.10.30 |
데이터 타입 > 얕은 복사 , 깊은 복사 (0) | 2023.10.27 |
일급 객체로서의 함수 (0) | 2023.10.26 |
구조 분해 할당, 단축 속성명, 나머지 매개변수 (1) | 2023.10.18 |