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

166
Vistas
Eliminar valores vacíos de la matriz de objetos solo si el valor está vacío en todos los objetos

Estoy tratando de eliminar las cadenas vacías en mi matriz.

Esta es mi matriz:

 let array = [{name:'John',age:'18',address:''},{name:'George',age:'',address:''},{name:'Kevin',age:'25',address:''}]

Me gustaría eliminar los valores de cadena vacíos SOLAMENTE si está vacío en todos los objetos.

resultado deseado:

 [{name:'John',age:'18'},{name:'George',age:''},{name:'Kevin',age:'25'}]

Esto es lo que hice, pero elimina TODOS los valores de cadena vacíos:

 for (let i = 0; i < array.length; i++) { array[i] = Object.fromEntries(Object.entries(array[i]).filter(([_, v]) => v != '')); }

Gracias por adelantado ,

about 4 years ago · Santiago Gelvez
3 Respuestas
Responde la pregunta

0

Si no le importa mutar el objeto array original. Aquí hay una solución que utiliza algunas funciones de matriz.

 let array = [ { name: 'John', age: '18', address: '' }, { name: 'George', age: '', address: '' }, { name: 'Kevin', age: '25', address: '' } ] Object.keys(array[0]) .filter(k => array.every(obj => !obj[k])) .forEach(k => array.forEach(obj => delete obj[k])); console.log(array);

about 4 years ago · Santiago Gelvez Denunciar

0

Puedes resolver este problema con un método de filtro.

  • obtener todas las entradas que se escanearán en la matriz;
  • para cada entrada, filtre la matriz con ella; si la matriz de salida está vacía, puede eliminar este valor en la matriz original

 let array = [{name:'John',age:'18',address:''},{name:'George',age:'',address:''},{name:'Kevin',age:'25',address:''}] const entries = Object.keys(array[0]) entries.forEach(e => { if(array.filter(i => i[e]).length === 0) { array = array.map(i => {delete i[e]; return i}) } }) console.log(array)

about 4 years ago · Santiago Gelvez Denunciar

0

Si no desea mutar la matriz original:

 let array = [{name:'John',age:'18',address:''},{name:'George',age:'',address:''},{name:'Kevin',age:'25',address:''}] let result; Object.keys(array[0]) .forEach(key => { if(array.every(e => e[key] === '')) result = array.map(({[key]:_,...rest}) => ({...rest})) }) console.log(result)

about 4 years ago · Santiago Gelvez 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