【发布时间】:2019-02-12 01:00:56
【问题描述】:
我有一个从服务调用返回的类似结构:
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"
}
]
}
]
}
];
【问题讨论】:
-
LocationOptions 是一个数组,一个地址可以有多个位置选项吗?
-
是的,每个地址可以有多个位置选项。