[英]how to delete item from JSON object with angularjs
I want to delete the items which have {"lat":0,"lng":0}
in this json object, here's the object : 我想删除在这个json对象中具有{"lat":0,"lng":0}
,这是对象:
[{
"lat": 35.77118697154732,
"lng": -5.809084439749561
}, {
"lat": 35.77118697154732,
"lng": -5.809084439749562
}, {
"lat": 0,
"lng": 0
}, {
"lat": 0,
"lng": 0
}, {
"lat": 0,
"lng": 0
}]
I tried this: 我尝试了这个:
storyboard.deleteLngAndLatEqualZeo = function(data) {
for (var i = 0; i < data.length; i++) {
var currentData = data[i];
if (currentData.lat == 0 && currentData.lng == 0) {
data.splice(i, 1);
}
}
console.log(JSON.stringify(data));
}
It doesn't work. 没用 Can someone help? 有人可以帮忙吗?
You can use slice
, Checkout my answer 您可以使用slice
,结帐我的答案
for (var i = data.length - 1; i > -1; i--) {
var latData=data[i].lat;
var lngData=data[i].lng;
if (put condition) {
data.splice(i, 1);
}
}
You can use Array.prototype.filter() function like this: 您可以像这样使用Array.prototype.filter()函数:
var data = [{ "lat": 35.77118697154732, "lng": -5.809084439749561 }, { "lat": 35.77118697154732, "lng": -5.809084439749562 }, { "lat": 0, "lng": 0 }, { "lat": 0, "lng": 0 }, { "lat": 0, "lng": 0 }]; var result = data.filter(function(d) { return !(d.lat === 0 && d.lng === 0); }); console.log(result);
data = [{ "lat": 35.77118697154732, "lng": -5.809084439749561 }, { "lat": 35.77118697154732, "lng": -5.809084439749562 }, { "lat": 0, "lng": 0 }, { "lat": 0, "lng": 0 }, { "lat": 0, "lng": 0 }]; deleteLngAndLatEqualZeo = function(data) { for (var i = 0; i < data.length; i++) { var currentData = data[i]; if (currentData.lat == 0 && currentData.lng == 0) { data.splice(i, 1); --i; } } console.log(JSON.stringify(data)); } deleteLngAndLatEqualZeo(data);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.