Unten ist mein JSON-Objekt, in dem ich die groupType
aus der Gruppe entfernen möchte, trips.ie., trips.length===0
.And möchte auch das gesamte Client-Objekt, wenn alle die Fahrten Array ist für das jeweilige Client-Objekt leer ..Entfernen Sie Elemente in verschachtelten JSON basierend auf Bedingung
let fruitsArray= [
{
"fruit": {
"id": 1,
"name": "Mango"
},
"group": [
{
"groupType": {
"id": 1,
"name": "A"
},
"trips": []
},
{
"groupType": {
"id": 2,
"name": "B"
},
"trips": []
},
{
"groupType": {
"id": 3,
"name": "C"
},
"trips": []
},
{
"groupType": {
"id": 4,
"name": "D"
},
"trips": []
}
]
},
{
"fruit": {
"id": 1,
"name": "Apple"
},
"group": [
{
"groupType": {
"id": 1,
"name": "A"
},
"trips": []
},
{
"groupType": {
"id": 2,
"name": "B"
},
"trips": [
{
"trip": {
"id": 62,
"deliverySlotId": 900000000000001
}
}
]
},
{
"groupType": {
"id": 3,
"name": "C"
},
"trips": []
},
{
"groupType": {
"id": 4,
"name": "D"
},
"trips": []
}
]
},
{
"fruit": {
"id": 95,
"name": "Banana"
},
"group": [
{
"groupType": {
"id": 4,
"name": "A1"
},
"trips": [
{
"trip": {
"id": 62,
"deliverySlotId": 900000000000001
}
},
{
"trip": {
"id": 63,
"deliverySlotId": 900000000000001
}
},
{
"trip": {
"id": 65,
"deliverySlotId": 900000000000001,
"orderId": 22
}
}
]
}
]
}
]
der Code, den ich alle Erträge, die Elemente mit 0 groupType
versucht haben ..
let finalArray = fruitsArray.map((group) => {
return group.group.filter((trip) => {
return trip.trips.length > 0;
})
})
Sie auch die ganze Frucht entfernen möchten, wenn es nicht drin Reisen sind? – JuHwon
ja @ JuHwon.The ganze Frucht – forgottofly
Statt Karte Sie reduzieren verwenden könnte und bedingt das Objekt schieben, wenn die Gruppe muß nicht Fahrten haben 'lassen finalArray = fruitsAray.reduce ((res, Gruppe) => { return res.concat (group.group.filter ((trip) => { zurück trip.trips.length> 0; }) || []); }, []) ' Ich habe den Code nicht getestet. Ich hoffe, du kommst auf die Idee. – z0mBi3