Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

208
Visualizações
Eliminar todos los valores falsos de una matriz en Javascript

Tengo una matriz arr1 = [0,1,false,2,undefined,'',null,3]

El resultado esperado es eliminar todos los valores falsos y devolver la matriz solo con los verdaderos como este => [1, 2, 3]

Pero, en cambio, obtuve esto =>[ 1, indefinido]

El código que he escrito es: haga clic en este enlace para ver el código

 for(let i=1;i<=arr1.length;i++) { if(!arr1[i-1]) { arr1.splice(i-1,i); } } console.log(arr1);

Línea 1: aquí, estoy recorriendo la matriz hasta la longitud de la matriz.

Línea 2: en este paso, estoy verificando los valores falsos. Si los valores son falsos, ingresa dentro del bloque.

Línea 3: en este paso, quiero eliminar el elemento de la matriz mediante empalme. Desde entonces, comencé la matriz desde el índice 1, por lo que quiero eliminar el elemento del índice i-1 al índice i.

Por ejemplo, si quiero eliminar el elemento 'falso' de mi matriz cuyo índice es 2 pero el índice de la matriz apunta a 3, entonces lo empalmo desde el índice i-1 que es 2 hasta el índice i que es 3. Entonces, el elemento será eliminado de la matriz.

Línea 4: imprime la matriz arr1 en la consola.

La salida debería ser [1,2,3] pero lo que obtuve es [1, indefinido]

¿Puede alguien ayudarme con dónde me equivoqué y también probé el método de filtro y el constructor booleano? Entonces aparece el resultado deseado. Pero, quería saber dónde salió mal mi código. Por favor, ayúdame con esto.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Puede filtrar fácilmente los valores de la matriz para verificar si son falsos o no al convertir los valores a un valor booleano:

 [0,1,false,2,undefined,'',null,3].filter(Boolean) // [1, 2, 3]

¡Espero que esto ayude!

about 4 years ago · Juan Pablo Isaza Relatório

0

const arr = [1,2,"foo", "bar", undefined,0,null,3]; const newArray = arr.filter(Boolean); console.log(newArray);

El filtro es la mejor manera de eliminar elementos no deseados de una matriz.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

Al pasar el tipo Boolean como una devolución de llamada, solo convertirá todos los valores a booleanos como una prueba de filtro y devolverá solo los valores que son verdaderos para Boolean(val)

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede verificar los valores verdaderos/falsos al ponerlo en un if como este.

 const arr1 = [0,1,false,2,undefined,'',null,3]; let result = []; arr1.forEach(o => { if (o) result.push(o); }); console.log(result);

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda