我的JSON是这样的(有效,太长了,所以我只粘贴其中的一部分):
const world = {
"object": {
"countries": {
"type": "GeometryCollection",
"geometries": [{
"type": "Polygon",
"id": 4,
"arcs": [
[
297,
298,
299,
300,
301,
302
]
]
},
{
"type": "MultiPolygon",
"id": 24,
"arcs": [
[
[
303,
304,
211,
305
]
],
[
[
213,
306,
307
]
]
]
},
{
"type": "Polygon",
"id": 8,
"arcs": [
[
308,
248,
309,
310,
311
]
]
}
]
}
}
}
这基本上是一个国家/地区列表,每个国家/地区都有自己的ID。
现在,我可以按world.objects.countries
来选择所有国家,但是我需要选择具有特定ID的国家,而不是全部{ID {1}}或"id":24
。 >
我想我需要使用过滤器来过滤其中具有特定ID的国家/地区?我真的只是一个初学者,发现的解决方案是使用jQuery过滤的,而不是普通的javascript。
答案 0 :(得分:0)
我猜每个“几何”都代表一个国家。然后:
const world = {
objects: {
"countries":{
"type":"GeometryCollection",
"geometries":[
{
"type":"Polygon",
"id":4,
"arcs":[
[
297,
298,
299,
300,
301,
302
]
]
},
{
"type":"MultiPolygon",
"id":24,
"arcs":[
[
[
303,
304,
211,
305
]
],
[
[
213,
306,
307
]
]
]
},
{
"type":"Polygon",
"id":8,
"arcs":[
[
308,
248,
309,
310,
311
]
]
}
]
}
}
}
const result = world.objects.countries.geometries.filter(g => [4, 24].includes(g.id))
console.log(result)
filter功能被使用。