TIL- filter와 0
4623 단어 ES6JavaScriptES6
오늘 프로그래머스에서 문제를 풀면서 filter로 숫자만 걸러낼려고 했다.
//예시
[1,2,3,'1','a',NaN,0].filter((v)=> Number(v));
//result:[1, 2, 3, "1"]
문제
나는 0도 함께 숫자로서 return받기를 원했는데 처음에 왜 안나오는지 이해할 수 없었다.
이유
filter는 조건이 참인 값만 return해주는데 0은 false 이기때문이다
해결 방법
[1, 2, 3, "1", "a", NaN, 0].filter((v) => Number.isFinite(v));
// [1, 2, 3, 0]
설명
Number.isFinite()는 주어진 값이 유한수인지 판별하는 함수이다.
Mdn 예시
console.log(Number.isFinite(1 / 0));
// expected output: false
console.log(Number.isFinite(10 / 5));
// expected output: true
console.log(Number.isFinite(0 / 0));
// expected output: false
Author And Source
이 문제에 관하여(TIL- filter와 0), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@park485201/TIL-filter와-0저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)