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

137
Vistas
Eliminar matriz vacía de matriz de objetos

Tengo una matriz de matrices de objetos y una de las fechas está vacía, me gustaría eliminar esa fecha vacía.

 const arr = [ { "2022-03-10": [ { "Age": "31", "Last": "Craig", "Name": "Carlos", "Time": "11:00am - 12:00pm", "Type": "Consulta General", "read": false } ], "2022-03-26": [ { "Age": "31", "Last": "Craig", "Name": "Carlos", "Time": "11:00am - 12:00pm", "Type": "Follow Up", "read": false } ], "2022-03-27": [], "2022-03-31": [ { "Age": "31", "Last": "Craig", "Name": "Carlos", "Time": "11:00am - 12:00pm", "Type": "Valoraciones Funcionales", "read": false } ] } ];

lo que he probado

 list.push(doc.data()); var filtered = list.filter(function (el) { return el != " "; });

Me gustaría mantener la misma matriz, solo que sin el elemento "2022-03-27".

Además, si también es posible filtrar directamente desde doc.data() sin tener que hacer list.push, eso sería mucho mejor.

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

0

  • Usando Array#map , itere sobre la matriz
  • Usando Object#entries , obtenga la lista de entradas para el objeto actual
  • Usando Array#filter , filtre las entradas cuyo valor es una matriz vacía
  • Usando Object#fromEntries , devuelve el objeto actual que contiene las entradas filtradas

 const arr = [ { "2022-03-10": [ { "Age": "31", "Last": "Craig", "Name": "Carlos", "Time": "11:00am - 12:00pm", "Type": "Consulta General", "read": false } ], "2022-03-26": [ { "Age": "31", "Last": "Craig", "Name": "Carlos", "Time": "11:00am - 12:00pm", "Type": "Follow Up", "read": false } ], "2022-03-27": [], "2022-03-31": [ { "Age": "31", "Last": "Craig", "Name": "Carlos", "Time": "11:00am - 12:00pm", "Type": "Valoraciones Funcionales", "read": false } ] } ]; const filtered = arr.map(obj => Object.fromEntries( Object.entries(obj).filter(([key, value]) => value.length > 0) ) ); console.log(filtered);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Parece que necesita revisar la estructura de datos. Reestructuré su código a un formato convencional. Espero que sea lo que quiere hacer. si no, déjame un comentario y lo recodificaré para ti.

 const result = [ { "2022-03-10": [], "Age": "31", "Last": "Craig", "Name": "Carlos", "Time": "11:00am - 12:00pm", "Type": "Consulta General", "read": false, }, { "2022-03-26": [], "Age": "31", "Last": "Craig", "Name": "Carlos", "Time": "11:00am - 12:00pm", "Type": "Follow Up", "read": false, }, { "2022-03-27": [] }, { "2022-03-31": [], "Age": "31", "Last": "Craig", "Name": "Carlos", "Time": "11:00am - 12:00pm", "Type": "Valoraciones Funcionales", "read": false, }, ]; const removeEmpty = result.filter(oneObj => Object.values(oneObj).length > 1); console.log(removeEmpty)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar delete para eliminar las partes del objeto que tienen una matriz vacía. Esto cambia la matriz original.

 const arr = [{ "2022-03-10": [ { "Age": "31", "Last": "Craig", "Name": "Carlos", "Time": "11:00am - 12:00pm", "Type": "Consulta General", "read": false } ], "2022-03-26": [ { "Age": "31", "Last": "Craig", "Name": "Carlos", "Time": "11:00am - 12:00pm", "Type": "Follow Up", "read": false } ], "2022-03-27": [], "2022-03-31": [ { "Age": "31", "Last": "Craig", "Name": "Carlos", "Time": "11:00am - 12:00pm", "Type": "Valoraciones Funcionales", "read": false } ] }]; arr.forEach(e => Object.entries(e).forEach(([key,value]) => value.length || delete e[key]) ); console.log( arr );

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