如何从Array中删除对象并保存以供以后使用?
最初我的问题是如何从jQuery数组中删除对象 。 <找到答案,来自@nnnnnn的答案。 使用$.grep
我现在的新问题是你如何保存刚删除的对象?
原因是我希望能够将保存的对象推回到数组中,如果用户决定保留它。
我的networks
arrays:
安慰:
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);
有没有一种简单的方法来保存整个对象? 那么它可以被推回去吗?
谢谢参观!
您可以将回调内的对象分配给变量。 这不是一个非常干净的解决方案,因为这样的回调不应该有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);