我想在特定条件下从JSON对象中删除某些项目。
我正在发出两个Ajax请求,一个是从API端点获取项目,并将JSON对象保存在名为items
的变量中。我正在使用每个项目的ID
进行后续的API请求。
如果第二个API返回一个非空对象,请从我的JSON对象中删除特定项目。然后渲染项目(意味着仅显示尚未批准的项目)。
var items;
function fetchItems() {
$.ajax({
url: urlOne,
method: "GET",
headers: {
"Accept": "application/json; odata=verbose"
},
success: function(data) {
items = data.d.results;
getPendingItems();
},
});
}
function getPendingItems() {
for (var i = items.length - 1; i >= 0; i--) {
$.ajax({
url: urlTwo + items[i].Id,
method: "GET",
headers: {
"Accept": "application/json; odata=verbose"
},
success: function(data) {
if ($.isEmptyObject(data.d.results)) {
//
} else {
removeItems(i);
}
},
})
}
}
function removeItems(key) {
delete items[key];
}
[
{
"Id": 1,
"Item_name": "test1"
},
{
"Id": 2,
"Item_name": "test2"
},
{
"Id": 3,
"Item_name": "test3"
},
]
但是,这些项目并未从我的JSON对象中删除。我最终渲染了所有项目