Array - 모든 거짓 값 제거

준성·2023년 10월 16일
0
post-thumbnail

🔥 filter() 메서드를 사용하여 Array의 모든 거짓 값을 제거하는 방법을 알아보자!

JavaScript Falsy

조건문, 반복문 등의 불리언 값이 필요한 곳에서 암묵적인 형 변환을 이용해 특정 값을 불리언 값으로 변환되는 값이다.
false 0 빈 문자열("", '', ``) null undefined NaN 등이 존재한다.

참조 링크 : MDN - 거짓같은 값
https://developer.mozilla.org/ko/docs/Glossary/Falsy

이 거짓 값을 제외하는 새 Array를 만드는 방법을 얘기해본다

1. Boolean

Boolean으로 모든 거짓갑을 필터링 하는 방법이다.

let arr = [0, 1, '', undefined, false, 2, null, 3, NaN];

let result = arr.filter(Boolean);

console.log(result);

// 결과 : [1, 2, 3]

2. !!x 표현

모든 거짓값을 제외하고 반환할 수 있다.

let arr = [0, 1, '', undefined, false, 2, null, 3, NaN];

let result = arr.filter(x => !!x);

console.log(result);

// 결과 : [1, 2, 3]

3. x => x

간단하게 거짓 값만 필터링 할 수 있는 다른 방법이다.

let arr = [0, 1, '', undefined, false, 2, null, 3, NaN];

let result = arr.filter(x => x);

console.log(result);

// 결과 : [1, 2, 3]

이런 방법들이 있지만 0 또한 거짓 값으로 의도적으로 0을 출력하고 싶을 때 이런 방법으로 사용할 수 있다

let arr = [0, 1, '', undefined, false, 2, null, 3, NaN];

let result = arr.filter(x => (x === 0 || x));

console.log(result);

// 결과 : [0, 1, 2, 3]

문제를 풀다가 거짓 값을 제외하고 반환해야하는 문제가 나왔다. 찾아보면서 다른 방법들이 있기에
나중에도 사용할 수 있다고 생각하여 포스트를 작성한다.

profile
코드를 그리다.

0개의 댓글