루핑하는 동안 정의되지 않은 처리 방법 [중복]
Dec 26 2020
[1, 3, 4, 5, 5, undefined, 4, 3, 4].map((item) => {
if (item) {
return item
}
})
위 코드의 출력은 다음과 같습니다.

undefined
반환되는 이유는 무엇 if
입니까? 루프에 의해 중지되지 않아야 합니까?
답변
1 ASDFGerte Dec 26 2020 at 16:32
항목이 허위 인 경우지도 함수는 명시 적으로 아무것도 반환하지 않으므로 undefined
기본적으로 반환 됩니다.
다른 의견이 지적했듯이 다음을 찾고있을 것입니다 Array.prototype.filter.
console.log([1,3,4,5,5,undefined,4,3,4].filter((item)=>{
if(item){
return item;
}
}));
위의 내용은 약간 장황하고 .filter(x => x)
충분하며 어쨌든 반환을 filter
요청 ToBoolean
합니다. 그래도 0과 같은 잘못된 값을 필터링합니다 .