javascript - 动态从 JSON 对象中删除项目
问题描述
我想在某些条件下从 JSON 对象中删除某些项目。
我正在发出两个 Ajax 请求,一个是从 API 端点获取项目并将 JSON 对象保存在一个名为items
. 我正在使用ID
每个项目的 来发出后续的 API 请求。
如果第二个 API 返回非空对象,请从我的 JSON 对象中删除特定项目。然后渲染项目(意味着只显示尚未批准的项目)。
API 请求 1
var items;
function fetchItems() {
$.ajax({
url: urlOne,
method: "GET",
headers: {
"Accept": "application/json; odata=verbose"
},
success: function(data) {
items = data.d.results;
getPendingItems();
},
});
}
API 请求 2
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 对象中删除。我最终渲染了所有项目
解决方案
推荐阅读
- java - 为什么我没有打印时会打印
- javascript - 有没有办法在反应组件表上添加边框?
- javascript - $scope.myFunc 不是函数
- jquery - 具有固定标题和特定列数的可滚动(水平和垂直)HTML 表格(与 IE 11 兼容)
- c# - 使用 AutoMapper 更新拥有实体的属性不会将其设置为已修改
- algorithm - 根据给定的时间,估计算法可以处理的输入大小
- android - 如何检查或更新虚幻 apk api?
- php - 如何使多个电报机器人在一个 Laravel 实例上工作
- python - 由 HomeBrew 安装的 Anaconda “路径不可写或丢失。”
- c - 如何创建一个存储多个数组的指针?