最初我的问题是How to Remove Object from jQuery array。 <找到答案,来自@nnnnnn的答案。使用$.grep
我现在的新问题是你如何保存刚删除的对象?
原因是如果用户决定保留它,我希望能够将保存的对象推回到数组中。
我的networks
数组:
控制台:
networks array = [object Object],[object Object]
networks: Array[2]
0: Object
count: 1
id: "6"
label: "CompanyName"
type: "Organization"
1: Object
count: 1
id: "12622"
label: "MyGroup"
type: "Group"
从另一个答案我用它来查看网络数组,找到类型为“组织”的对象 并删除它。
networks = $.grep(networks, function(o,i) { return o.type === "Organization"; }, true);
有没有简单的方法来保存整个对象?那么它可以推回去吗?
谢谢你看看!
答案 0 :(得分:3)
您可以将回调内的对象分配给变量。这不是一个非常干净的解决方案,因为这样的回调不应该有IMO的副作用,但它可以在不对代码进行更大的更改的情况下工作:
var obj;
networks = $.grep(networks, function(o,i) {
if (o.type === "Organization") {
obj = o;
return true;
}
return false;
}, true);
或者更短(对于不了解逗号运算符的人来说更加困惑):
var obj;
networks = $.grep(networks, function(o,i) {
return o.type === "Organization" ? ((obj = o), true) : false;
}, true);