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

148
Vistas
Reemplazo de valores vacíos/indefinidos con valores nulos en la matriz de JavaScript

Tengo una matriz y quiero convertir los valores vacíos/indefinidos en nulos. He probado lo siguiente:

 let arr = [] arr[1] = 2 arr[7] = 10 arr = arr.map(x => x || null) console.log(arr)

Pero la salida del fragmento no es la deseada:

[ indefinido, 2, indefinido, indefinido, indefinido, indefinido, indefinido, 10 ]

¿Cómo reemplazo estos valores indefinidos con valores nulos? AIT

Nota: Se aceptan tanto las respuestas de Vanilla JS como las de Lodash.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Lo que tiene funcionará para una matriz que tiene elementos undefined , pero no para una matriz dispersa con agujeros, porque el map no visita los agujeros en una matriz dispersa; en cambio, la matriz resultante solo tiene agujeros en los mismos lugares.

Si también desea mapear los agujeros, puede usar Array.from con su devolución de llamada de mapeo:

 let arr = []; arr[1] = 2; arr[7] = 10; arr = Array.from(arr, x => x || null); console.log(arr);

A diferencia de map , Array.from pasará por todos los índices de la matriz, incluidos los agujeros, pasando undefined como x para los agujeros en la matriz a la devolución de llamada de mapeo.

Otra opción es un ciclo for-of simple, porque la iteración visita huecos en arreglos dispersos (es por eso que Array.from funciona arriba):

 let arr = []; arr[1] = 2; arr[7] = 10; const newArr = []; for (const value of arr) { newArr.push(value || null); } arr = newArr; console.log(arr);


Tenga en cuenta que x || null reemplazará todos los valores falsos con null (incluidos 0 y "" , que a menudo hacen tropezar a la gente). Para simplemente reemplazar undefined , use x ?? null en su lugar:

 let arr = []; arr[1] = 2; arr[7] = 10; arr = Array.from(arr, x => x ?? null); console.log(arr);

o

 let arr = []; arr[1] = 2; arr[7] = 10; const newArr = []; for (const value of arr) { newArr.push(value ?? null); } arr = newArr; console.log(arr);

x ?? y ( unión nula ) es como x || y pero solo usa y si x se evalúa como undefined o null .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Prueba algo muy básico:

 let arr = []; arr[1] = 2; arr[7] = 10; for(let i=0; i< arr.length; i++) { if(!arr[i]) arr[i]=null; } console.log(arr);

Producción:

[
  nulo, 2, nulo,
  nulo, nulo, nulo,
  nulo, 10
]
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