Leaflet,geojson:过滤掉其中包含空值的整个 features/objects

Leaflet, geojson: filter out entire features/objects with a null value in them

我有一个从该网站获取的 geojson 文件,它以某种方式包含损坏的数据,坐标值 = null。

http://measuringamsterdam.nl/datalist/kijk/

我在我的代码中使用它是这样的:

//Retrieve all data and add to map
$.each(datalistObject['idlist'], function(key, value) { 
    $.getJSON('http://measuringamsterdam.nl/datalist/kijk/' + value['id'], function(data) {

        textbox = value['name'];

        var dataid = L.geoJson([data], {

            style: function (feature) {
                return feature.properties && feature.properties.style;
            },
            onEachFeature: onEachFeature,
            pointToLayer: function (feature, latlng) {
                return L.marker(latlng, {
                    icon: value['icon']
                });
            }
        }).addTo(jsonGroup);

        console.log(jsonGroup);

    },function(xhr) { console.error(xhr); });
});

现在我需要以某种方式过滤掉坐标具有空值的 features/objects。

我确实需要过滤指向我代码中的数据,因为我需要 getJSON 代码中的 + 值 ['id'] 部分。

有什么想法吗?

使用以下代码您将生成一个新数组。这将仅包含过滤后的数据。

var newArray = data.filter(function (el) {
     return el.value != 'null';
});

您还可以应用多个过滤器,例如:

 return el.value_a != 'null' && el.value_b > 100;

希望这能奏效!