Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

210
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda