动态地从JSON对象中删除项目

时间:2019-08-14 11:22:42

标签: javascript jquery

我想在特定条件下从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对象中删除。我最终渲染了所有项目

0 个答案:

没有答案