У меня есть такая структура, возвращенная из сервисного вызова:
var office = [
{
"Name": "office 1",
"address": [
{
"address1": "addres line 1",
"LocationOptions": [
{
"WheelChairAccessible": "Yes",
"OpenToPublic": "Open"
}
]
},
{
"address1": "addres line 1",
"LocationOptions": [
{
"WheelChairAccessible": "No",
"OpenToPublic": "Closed"
}
]
},
]
},
"Name": "office 2",
"address": [
{
"address1": "addres line 1",
"LocationOptions": [
{
"WheelChairAccessible": "No",
"OpenToPublic": "Closed"
}
]
}
]
}
];
Я пытался применить фильтр, чтобы я мог выполнить сервисный вызов, чтобы получить данные обратно в том формате, в котором я нахожусь.ищу, но не смог заставить фильтр работать на нескольких уровнях.
Я пробовал следующее, чтобы разбить туда, куда я хочу фильтровать данные, которые я ищу:
this.fileteraddress = this.ds.serviceCall(detailParameters)
.pipe(
filter(res =>
res.Address.map( res =>
res2.LocationOptions.filter( res3 =>
res3.OpenToPublic != "Open")
)
)
.subscribe (res =>
this.fileteraddress = res
);
Я также пытался использовать функцию карты, но не смог правильно применить фильтры.
Я бы хотел, чтобы фильтр работал, поэтому я получаю данные обратно так:
var Open Offices = [
{
"Name": "office 1",
"address": [
{
"address1": "addres line 1",
"LocationOptions": [
{
"WheelChairAccessible": "Yes",
"OpenToPublic": "Open"
}
]
}
]
}
];