🏃 array 요소에 NaN, undefined, null와 같은 유효치 않은 값을 제거해보자!
1. 전체 코드 보기
- 코드는 아래와 같이 간단하다. 배열에 대해
filter()
와Boolean
를 사용해주면 된다.
function getValidArr(arr) {
return arr.filter(Boolean);
}
const arr = [NaN, undefined, '', 0, false, null];
console.log(getValidArr(arr)); // []
2. 코드 상세보기
(1) Boolean(), 값을 true, false로 반환
- JS에서 유효치 않은 값은
NaN
,undefined
,‘’
,0
,false
,null
이 존재한다. - 우리는 배열에서 이 값을 전부 제외하고자 한다.
const arr = [NaN, undefined, '', 0, false, null];
- 그럼 이 값들이 공통적인 조건을 가져야할텐데 이들의 공통점은 무엇인가?
- 바로
Boolean
으로 변환하면false
가 된다는 점이다. Boolean()
은 특정 값을 참, 거짓으로 반환해준다.
Boolean(NaN); // false
Boolean(undefined); // false
Boolean(''); // false
Boolean(0); // false
Boolean(false); // false
Boolean(null); // false
(2) filter() 사용하기
- array에서 특정 조건에 해당하는 원소만 모으고 싶다면
filter()
를 사용할 수 있다. - filter()는 callback을 true로 통과한 원소를 모아 새로운 배열을 만들어준다.
array.filter(callback);
- 앞서 살펴본 Boolean과 filter를 같이 사용해주자!
- 아래 함수는 Boolean으로 변환시
false
인 원소를 제외한 값들로 새 배열을 만들어준다.
function getValidArr(arr) {
return arr.filter(Boolean);
}
반응형
'개발 기술 > 사소하지만 놓치기 쉬운 개발 지식' 카테고리의 다른 글
width, height:0 안될 때(feat. inline, inline-block) (0) | 2022.02.09 |
---|---|
canvas blur 문제를 해결하는 법 (0) | 2022.01.26 |
[css] background: none vs transparent의 차이 (0) | 2022.01.06 |
매개변수 재할당을 지양하자(no-param-reassign) (0) | 2022.01.04 |
[JS] 최대 스크롤값 구하는 법(scrollTop, scrollLeft) (1) | 2021.12.13 |
댓글