【发布时间】:2013-11-06 19:09:21
【问题描述】:
让我解释一下。
我得到了这个带有许多对象的 JSON:data = [{"id":"784","label":"blah","publisher":"me"},{"id":"785","label":"bleh","publisher":"you"},{"id":"786","label":"blih","publisher":"she"}];
例如:我想删除 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 自动完成)。所以我需要在不改变“数据”结构的情况下删除对象。
有什么帮助吗?
【问题讨论】:
-
而不是
delete,只需像删除数组值一样删除它(因为这就是你正在做的事情) -
我无法重现该问题。哪个 jQuery 版本?
-
这个问题似乎是基于无效的假设,因为该问题不可重现。
-
jquery 1.10.2,UI 1.10.3。
标签: javascript jquery json object