如果找到密钥,则从ajax响应中获取的json数组中删除键/值对

时间:2017-08-18 06:28:00

标签: javascript jquery json ajax

我从sharepoint中的一个列表中获取数据并将其存储在json数组中以将其传递到另一个函数以在Sharepoint列表中创建新项目。第一个函数是:

$.ajax({

    url:  someSharepointListUrl,
    type: "get",
    headers: {"Accept": "application/json;odata=verbose"},
    success: function (data) {
        var array = new Array();
        for (var i=0; i< data.d.results.length; i++) {
            var it=data.d.results[i];
            array.push({
                AllLinks: it.AllLinks,   
                LinkURL: it.LinkURL.Url
            });
        }
        dataCharts=JSON.stringify(array);      
        alert(dataCharts);
        AddDefaultLinks(dataCharts);


    },
    error: function (data) {
        alert(data.responseJSON.error);
    }
});

该项目存储在列表中:[{"Name":"Name1","URL":"http://www.name1.com"},{"Name":"Name2","URL":"http://www.name2.com"}] 创建项目后从列表中获取数据的第二个函数如下:

    $.ajax({
    url:  url,
    type: "get",
    headers: {"Accept": "application/json;odata=verbose"},
    success: function (data) {

        var c = [];
        var stringData = JSON.stringify(data.d.results[0].AllLinks);
        //alert(stringData);
        c.push(JSON.parse(stringData));
        alert(c);

        var xonly = c.filter(function (entry){
            return entry.AllLinks != x; 
        });
       alert(xonly);

    },
    error: function() {
        alert('fail');
    }
});

如果在这个新创建的列表Item中存在一个值,我需要匹配。如果是,则删除它,例如Lin。 这里c(json数组)的值是:[{"Name":"Name1","URL":"http://www.name1.com"},{"Name":"Name2","URL":"http://www.name2.com"}]

` entry.AllLinks不会在这里过滤数据.AllLinks在entry.AllLinks.Please帮助中未定义

1 个答案:

答案 0 :(得分:0)

使用Array.findIndex()在数组中查找所需的值,并使用Array.splice()方法删除该对象。