我想过滤存储在.js中的数据。我尝试了jQuery.grep()方法*,但每个数据仍在加载。
数据
var myData = {
"type": "FeatureCollection",
"crs": { "type": "name", "properties": {"name": urn:ogc:def:crs:OGC:1.3:CRS84"},
"features": [
{ "type": "Feature", "properties": { "id": 11, "type": "capitale", "pays": "pas fr", "nom": "berlin" }, "geometry": { "type": "Point", "coordinates": [ 13.395132552297285, 52.508943107353431 ] } },
{ "type": "Feature", "properties": { "id": 10, "type": "capitale", "pays": "pas fr", "nom": "amsterdam" }, "geometry": { "type": "Point", "coordinates": [ 4.855651367625091, 52.394023028252583 ] } },
{ "type": "Feature", "properties": { "id": 9, "type": "capitale", "pays": "pas fr", "nom": "londres" }, "geometry": { "type": "Point", "coordinates": [ -0.141426738862896, 51.509964983366203 ] } },
{ "type": "Feature", "properties": { "id": 8, "type": "capitale", "pays": "pas fr", "nom": "bruxelles" }, "geometry": { "type": "Point", "coordinates": [ 4.323617445236209, 50.851394650375276 ] } },
{ "type": "Feature", "properties": { "id": 7, "type": "ville", "pays": "france", "nom": "dijon" }, "geometry": { "type": "Point", "coordinates": [ 5.050954959388099, 47.311364936576716 ] } },
{ "type": "Feature", "properties": { "id": 6, "type": "ville", "pays": "france", "nom": "clermont-ferrand" }, "geometry": { "type": "Point", "coordinates": [ 3.13832668143313, 45.876878693687296 ] } },
{ "type": "Feature", "properties": { "id": 5, "type": "ville", "pays": "france", "nom": "lyon" }, "geometry": { "type": "Point", "coordinates": [ 4.848916761012574, 45.7642371486427 ] } },
{ "type": "Feature", "properties": { "id": 4, "type": "capitale", "pays": "france", "nom": "paris" }, "geometry": { "type": "Point", "coordinates": [ 2.316704674705995, 48.867681379583189 ] } },
{ "type": "Feature", "properties": { "id": 3, "type": "ville", "pays": "france", "nom": "montpellier" }, "geometry": { "type": "Point", "coordinates": [ 3.91954104848516, 43.619755259636626 ] } },
{ "type": "Feature", "properties": { "id": 2, "type": "ville", "pays": "france", "nom": "toulouse" }, "geometry": { "type": "Point", "coordinates": [ 1.414267388628651, 43.600250453043067 ] } },
{ "type": "Feature", "properties": { "id": 1, "type": "ville", "pays": "france", "nom": "rennes" }, "geometry": { "type": "Point", "coordinates": [ -1.670182439904363, 48.153851807885481 ] } }
]
};
功能
var myFilter = $.grep(myData.features, function (element, index) {
return element.properties.pays == "france";
});
for (var i=0;i<myFilter.length;i++) {
alert(myFilter[0].properties.pays + " " + myFilter[0].properties.nom);
};
这种语法有问题,但我不知道在哪里。
答案 0 :(得分:0)
element
没有字段pays
。您需要使用element.properties
:
var myFilter = $.grep(myData.features, function (element, index) {
return element.properties.pays == "france";
});