如何从Array中删除对象并保存以供以后使用?

时间:2014-01-23 17:42:36

标签: javascript jquery arrays object

最初我的问题是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);

有没有简单的方法来保存整个对象?那么它可以推回去吗?

谢谢你看看!

1 个答案:

答案 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);