首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组元素中的ANGULARJS搜索并从数组中删除相应的数据

数组元素中的ANGULARJS搜索并从数组中删除相应的数据
EN

Stack Overflow用户
提问于 2018-03-26 07:15:11
回答 5查看 70关注 0票数 0

我用的是安古拉杰。我的儿子是

代码语言:javascript
复制
[
  {
    "Workflow_version_id": 1,
    "data": {
      "Workflow_version_id": 1,
      "workflow_id": 1,
      "version_number": 1,
      "subversion_number": 1,
      "Workflow_definition": 1,
      "published": true,
      "del_flag": true,
      "locked_on": "asdasd",
      "locked_by": "asasas",
      "version_comments": "ASasaaaa"
    }
  },
  {
    "Workflow_version_id": 2,
    "data": {
      "Workflow_version_id": 2,
      "workflow_id": 2,
      "version_number": 1,
      "subversion_number": 1,
      "Workflow_definition": 1,
      "published": true,
      "del_flag": true,
      "locked_on": "asdasd",
      "locked_by": "asasas",
      "version_comments": "ASasaaaa"
    }
  },
  {
    "Workflow_version_id": 3,
    "data": {
      "Workflow_version_id": 3,
      "workflow_id": 3,
      "version_number": 1,
      "subversion_number": 1,
      "Workflow_definition": 1,
      "published": true,
      "del_flag": true,
      "locked_on": "asdasd",
      "locked_by": "asasas",
      "version_comments": "ASasaaaa"
    }
  },
  {
    "Workflow_version_id": 4,
    "data": {
      "Workflow_version_id": 4,
      "workflow_id": 5,
      "version_number": 1,
      "subversion_number": 1,
      "Workflow_definition": 1,
      "published": true,
      "del_flag": true,
      "locked_on": "asdasd",
      "locked_by": "asasas",
      "version_comments": "ASasaaaa"
    }
  }
]

我只想搜索整个json包含或有节点Workflow_version_idvalue 2。如果显示了该值,则如果我当前的希望删除id 2的完整详细信息,则我希望删除同一.eg的数据。

代码语言:javascript
复制
{
    "Workflow_version_id": 2,
    "data": {
      "Workflow_version_id": 2,
      "workflow_id": 2,
      "version_number": 1,
      "subversion_number": 1,
      "Workflow_definition": 1,
      "published": true,
      "del_flag": true,
      "locked_on": "asdasd",
      "locked_by": "asasas",
      "version_comments": "ASasaaaa"
    }
  }

然后我的最后一个儿子就会像

代码语言:javascript
复制
[
  {
    "Workflow_version_id": 1,
    "data": {
      "Workflow_version_id": 1,
      "workflow_id": 1,
      "version_number": 1,
      "subversion_number": 1,
      "Workflow_definition": 1,
      "published": true,
      "del_flag": true,
      "locked_on": "asdasd",
      "locked_by": "asasas",
      "version_comments": "ASasaaaa"
    }
  },
  {
    "Workflow_version_id": 3,
    "data": {
      "Workflow_version_id": 3,
      "workflow_id": 3,
      "version_number": 1,
      "subversion_number": 1,
      "Workflow_definition": 1,
      "published": true,
      "del_flag": true,
      "locked_on": "asdasd",
      "locked_by": "asasas",
      "version_comments": "ASasaaaa"
    }
  },
  {
    "Workflow_version_id": 4,
    "data": {
      "Workflow_version_id": 4,
      "workflow_id": 5,
      "version_number": 1,
      "subversion_number": 1,
      "Workflow_definition": 1,
      "published": true,
      "del_flag": true,
      "locked_on": "asdasd",
      "locked_by": "asasas",
      "version_comments": "ASasaaaa"
    }
  }
]
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-03-26 07:20:30

这是我的更新的应答。查看工作代码:http://jsfiddle.net/nwa00chg/

代码语言:javascript
复制
Array.prototype.removeAt = function(id) {
    for (var item in this) {
        if (this[item].Workflow_version_id == id) {
            this.splice(item, 1);
            return true;
        }
    }
    return false;
}
票数 1
EN

Stack Overflow用户

发布于 2018-03-26 07:21:52

使用过滤器和hasOwnProperty检查密钥是否存在是您所需要的。

代码语言:javascript
复制
var str = [
  {
    "Workflow_version_id": 1,
    "data": {
      "Workflow_version_id": 1,
      "workflow_id": 1,
      "version_number": 1,
      "subversion_number": 1,
      "Workflow_definition": 1,
      "published": true,
      "del_flag": true,
      "locked_on": "asdasd",
      "locked_by": "asasas",
      "version_comments": "ASasaaaa"
    }
  },
  {
    "Workflow_version_id": 2,
    "data": {
      "Workflow_version_id": 2,
      "workflow_id": 2,
      "version_number": 1,
      "subversion_number": 1,
      "Workflow_definition": 1,
      "published": true,
      "del_flag": true,
      "locked_on": "asdasd",
      "locked_by": "asasas",
      "version_comments": "ASasaaaa"
    }
  },
  {
    "Workflow_version_id": 3,
    "data": {
      "Workflow_version_id": 3,
      "workflow_id": 3,
      "version_number": 1,
      "subversion_number": 1,
      "Workflow_definition": 1,
      "published": true,
      "del_flag": true,
      "locked_on": "asdasd",
      "locked_by": "asasas",
      "version_comments": "ASasaaaa"
    }
  },
  {
    "Workflow_version_id": 4,
    "data": {
      "Workflow_version_id": 4,
      "workflow_id": 5,
      "version_number": 1,
      "subversion_number": 1,
      "Workflow_definition": 1,
      "published": true,
      "del_flag": true,
      "locked_on": "asdasd",
      "locked_by": "asasas",
      "version_comments": "ASasaaaa"
    }
  }
];

var updatedJson = str.filter(function(data) {
    return data.hasOwnProperty("Workflow_version_id");

})
console.log(updatedJson);

票数 0
EN

Stack Overflow用户

发布于 2018-03-26 07:22:39

您可以通过使用简单的JavaScript来完成它。

假设var data = [] //数组的对象。

代码语言:javascript
复制
var index = data.findIndex(function(o){ return o.Workflow_version_id == 2});

变量索引将具有对象的索引。

从索引中删除对象

代码语言:javascript
复制
data.splice(index,1) //after that data object will not have that object.

如果数组没有唯一的Id,那么可以使用array#filter,它将删除满足条件的所有元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49485844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档