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

149
Vistas
Filtrar en objeto en matriz

en un proyecto Angular, estoy tratando de eliminar un objeto de una matriz, para hacer esto necesito filtrar la matriz y luego reemplazar esa matriz en el almacenamiento (en este caso, condensador/almacenamiento)

mi función:

 deleteArticle(id: string): void { this.order = this.order[0].filter(p => p.products.productKey !== id);

}

orden orden; ==>

 export interface OrderProduct { productKey: string; productName: string; price: number; } export interface Order { key?: string; customerKey: string; products: OrderProduct[]; country?: string; city?: string; postcode?: string; addressLine?: string; creationDate?: any; //date }

en HTML al hacer clic:

 <ion-col> <ion-button (click)="deleteArticle(p.productKey)"> <ion-icon name="trash-outline"></ion-icon> </ion-button> </ion-col>

Al hacer clic en el botón, puedo ver que la matriz es como esperaba, igual que la ID en la que quiero filtrar, pero sigo recibiendo este error:

No se pueden leer las propiedades de undefined (leyendo 'filtro')

imagen de la consola mostrando error

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

0

Si order es del tipo Order mientras escribe e intenta this.order[0].filter... intenta acceder a una propiedad llamada '0' (como en 'cero') de this.order, que probablemente no esté definida y por lo tanto no tiene método de filtro. por lo que veo, puede eliminar el '[0]' y podría funcionar. sin más código, solo una suposición.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Encontré la solución, era una cosa del tipo de datos :)

necesario para agregar productos a este pedido...

 async deleteArticle(id: string): Promise<void> { this.order.products = this.order.products.filter(p => p.productKey !== id); }
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