Recibo en mi función un objeto con la siguiente información
{
"name": "Grand modèle",
"description": "Par 10",
"price": 0,
"functional_id": "grand_modele_par_10",
"quantity": 2,
"amount": 0
}
necesito comprobar el siguiente array de objetos, en el que se encuentra, para eliminarlo
[
{
"name": "Matériel crémation",
"products": [
{
"file": "data:image/;base64,",
"name": "Sacs bordeaux",
"description": "Pour les crémations Référence",
"id": 12,
"path": "",
"items": [
{
"name": "Petit modèle",
"description": "Par 25",
"price": 0,
"functional_id": "petit_modele_par_25",
"quantity": 2,
"amount": 0
},
{
"name": "Grand modèle",
"description": "Par 10",
"price": 0,
"functional_id": "grand_modele_par_10",
"quantity": 2,
"amount": 0,
"itemAdded": false
}
]
}
]
},
{
"name": "Documents",
"products": [
{
"file": "data:image/;base64,",
"name": "Affiches procédure",
"description": "De prise en charge",
"id": 18,
"path": "",
"items": [
{
"price": 0,
"functional_id": "affiches_procedure",
"quantity": 1,
"amount": 0
}
]
}
]
}
]
Para ello recorro el array de objetos con un "forEach" para localizar el objeto que cumple la condición de ser igual y eliminarlo
public deleteItem(item) {
this.fullCartInfo.forEach(category => {
category.products.forEach(product => {
product.items.forEach(itemAdded => {
if (item.functional_id === itemAdded.functional_id) {
this.fullCartInfo.splice(itemAdded);
}
});
});
});
this.cartService.removeItem(item);
}
lo que obtengo es que se vacíe mi array de objetos. entiendo que deberia recoger la posicion que ocupa en el array con un 'for' y lo he intentado , pero dentro del forEach, en el punto que establezco la condicion no lo ejecuta. ¿Cómo puedo hacer que borre sólo aquel que cumple la condición? ¿Cuál es mi error? Gracias a todos por vuestro tiempo.