map 을 돌릴 때 undefined 인 결과는 skip 하고 싶다고 할 때,
다음과 같은 배열이 있다.
const array = [1, 2, 3, 4, 5]
나는 홀수만 남기고 싶어서 map을 사용하여
array.map(item => {
if((item%2)){
return item
}
})
undefined 제거하고 싶으면 그냥 뒤에 filter 붙이면 된다.
array.map(item => {
if((item%2)){
return item
}
}).filter(element => element)
사실 위와 같이 간단한 경우는 굳이 map 을 사용하지 않고 filter 하나만 사용하면 정제가 가능하다.
array.filter(item => item%2)
하지만 객체 속성의 값에 대한 비교와 정제를 할 경우, 객체의 key 를 배열로 만들고 필수적으로 map 을 사용해야 한다.
왜냐하면 바로 filter 를 사용할 경우, 객체의 속성 값을 return 하고 싶지만, 객체의 key 만 반환하기 때문이다.
'JavaScript' 카테고리의 다른 글
22.05.17 Request failed: Forbidden (0) | 2022.05.17 |
---|---|
22.05.11 delete 객체 속성 제거 (0) | 2022.05.12 |
22.05.09 배열 평탄화 flatMap (0) | 2022.05.09 |
22.05.08 객체에서 속성 찾기 hasOwnProperty 와 in (0) | 2022.05.08 |
22.05.08 객체와 toString() (0) | 2022.05.08 |