【发布时间】:2015-07-23 04:05:50
【问题描述】:
我正在从服务中检索建筑地理位置数据,但在某些情况下,某些数据会缺少属性。
良好的数据
[{
"ModifiedOn": "2015-04-29 11:17:28.0",
"BuildingName": "Wintefell",
"Latitude": "52.900619",
"Longitude": "-1.434602",
"Region": "The North",
}, {
"ModifiedOn": "2015-04-29 11:17:28.0",
"BuildingName": "Water Gardens",
"Latitude": "51.818051",
"Longitude": "-.354871",
"Region": "Dorne"
}]
不良数据
缺少区域或建筑物名称
{
"ModifiedOn": "2015-04-29 11:17:28.0",
"BuildingName": "Kings Landing",
"Latitude": "23.818051",
"Longitude": "-.154871",
}
发出 AJAX 请求后,我将 JSON 响应存储在一个名为 _regionAndBuildings
的对象中我想从中清除任何不良数据,所以我尝试了以下代码
console.log("Starting size of building data : " + _regionAndBuildings.length);
//clean json by setting object to undefined
for (var i = 0; i < _regionAndBuildings.length; i++) {
if (_regionAndBuildings[i].BuildingName === undefined && _regionAndBuildings[i].Region === undefined) {
console.log("Deleting");
delete _regionAndBuildings[i];
}
}
console.log("Ending size of building data after cleaning : " + _regionAndBuildings.length);
输出
起始尺寸:209
删除 x 17
结束大小:209
为什么这段代码没有删除我的 JSON 对象中的坏元素?
【问题讨论】:
-
尝试使用
array.splice而不是删除。
标签: javascript arrays json data-cleaning