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

94
Vistas
Quiero eliminar objetos que no tienen una matriz específica
console.log(value) { List: [ { id: 1 title: 'hi', content: [ { id: 1, functionId: 11, } ] } { id: 2, title: 'minsu', content: [] } ] }

Quiero eliminar el objeto si no hay una matriz de contenido.

Estoy creando una variable llamada control y emitiéndola usando la función de mapa interna. Si los objetos sin matriz de contenido deben eliminarse aplicando una condición de filtro, no sé cómo hacerlo.

 let control: any[any] = [ value.map((value: any) => { return { id: value?.id, title: value?.title, content: value?.content[0].functionId } }) ]

Pero ahora, cuando hago console.log(control), ocurre un error porque el segundo objeto no tiene contenido.

Quiero eliminar el segundo objeto sin contenido e imprimirlo así.

 console.log(control) [ id: 1, title: 'hi', functionId: 11 ]
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Primero filter los elementos con una matriz de contenido de longitud 0 o la matriz de contenido no existe y luego map para transformarla

 const List = [ { id: 1, title: 'hi', content: [ { id: 1, functionId: 11, } ] }, { id: 2, title: 'minsu', content: [] } ] const control = List .filter(({content}) => content?.length) .map(({id,title,content:[{functionId}]}) => ({id,title,functionId})) console.log(control)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Filtre la lista de origen de la manera que necesita y vuelva a aplicar la lista filtrada como nuevo valor

 const sourceObject = { list: [ { id: 1, title: 'hi', content: [ { id: 1, functionId: 11, } ] }, { id: 2, title: 'minsu', content: [] } ] }; const filteredList = sourceObject.list.filter(element => ( typeof(element.content) === 'object' && element.content.length > 0 )); sourceObject.list = filteredList; console.log(sourceObject);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Usualmente uso reduce para resolver problemas como este

 const items = [ { id: 1, title: 'hi', content: [ { id: 1, functionId: 11, } ] }, { id: 2, title: 'minsu', content: [] } ]; const result = items.reduce((rs, item) => { const functionId = item?.content?.[0]?.functionId; if (functionId) { rs.push({ id: item.id, title: item.title, functionId }) } return rs; }, []) 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