Ниже мой объект JSON, в котором я хочу удалить groupType
из группы, в которой dosen't есть trip.ie., . Также также необходимо удалить весь клиентский объект, если все массив поездки пуст для этого конкретного объекта клиента ..Удалить элементы внутри вложенного JSON на основании условия
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
}
}
]
}
]
}
]
код, который я попытался возвращает все элементы с 0 groupType
..
let finalArray = fruitsArray.map((group) => {
return group.group.filter((trip) => {
return trip.trips.length > 0;
})
})
вы также хотите, чтобы удалить весь плод, если нет поездки в нем? – JuHwon
да @ JuHwon.The весь плод – forgottofly
Вместо карты можно использовать сокращение и условно нажать объект, если группа оленьей кожи, поездки 'пусть finalArray = fruitsAray.reduce ((Реза, группа) => { возвращение res.concat (group.group.filter ((trip) => { return trip.trips.length> 0; }) || []); }, []) ' Я не тестировал код. Надеюсь, вы поняли эту идею. – z0mBi3