como indefinido é tratado durante o loop [duplicado]
Dec 26 2020
[1, 3, 4, 5, 5, undefined, 4, 3, 4].map((item) => {
if (item) {
return item
}
})
A saída do código acima é

Por que undefined
também é retornado, não deveria ser interrompido pelo if
loop?
Respostas
1 ASDFGerte Dec 26 2020 at 16:32
Sua função de mapa não retorna nada explicitamente se o item for falso, portanto, ele retorna undefined
(por padrão).
Como outro comentário apontou, você provavelmente está procurando Array.prototype.filter:
console.log([1,3,4,5,5,undefined,4,3,4].filter((item)=>{
if(item){
return item;
}
}));
Observe que o texto acima é um pouco prolixo, .filter(x => x)
bastaria, filter
chama ToBoolean
no retorno de qualquer maneira. Ele ainda filtrará quaisquer valores falsos , por exemplo, 0.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas