让我解释一下。
我得到了包含许多对象的 JSON:
data = [{"id":"784","label":"blah","publisher":"me"},{"id":"785","label":"bleh","出版商":"你"},{"id":"786","label":"blih","出版商":"她"}];
例如:我想删除 id = 785 的对象
我尝试过:
$.each( data, function( key, value ) {
if(value.id == '785'){
delete data[key];
}
});
它有效,但它改变了“数据”结构。现在看起来是这样的:
data = ["0":{"id":"784","label":"blah","publisher":"me"},"2":{"id":"786","label":"blih","publisher":"she"}]
我正在使用一个不接受此结构的插件(jQuery UI 自动完成)。所以我需要删除对象而不更改“数据”结构。
有什么帮助吗?
最佳答案
另一种方法是在数组上使用过滤器:
var data = [{"id":"784","label":"blah","publisher":"me"},{"id":"785","label":"bleh","publisher":"you"},{"id":"786","label":"blih","publisher":"she"}];
var result = data.filter(function(x){return x.id !== '785'; });
HTH
关于javascript - 如何删除 JSON 对象中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19820669/