获取数组键以基于该数组对象删除数组

时间:2017-07-15 07:56:25

标签: arrays function reactjs arrayobject array-key

新问题,所以这是数组

[
    0: {
        "id" : "3"
        "name": "David",
        "age": "20"
    },
    1: {
        "id" : "6"
        "name": "",
        "age": "18"
    },
    2: {
        "id" : "8"
        "name": "Micheal",
        "age": "25"
    },
    3: {
        "id" : "9"
        "name": "Wonder Women",
        "age": "20"
    },
    4: {
        "id" : "12"
        "name": "Clark",
        "age": ""
    }
]

单击按钮时如何基于id删除?在我的应用程序中有一个删除按钮来删除此数组。我认为需要获取数组键才能删除数组。

例如:我可以获得id = 8,但是如何获取数组键2来删除数字2?

如果您不明白,欢迎发表评论。谢谢。

4 个答案:

答案 0 :(得分:3)

array.filter((obj) => {
    if (obj.id != yourId){
        return obj;
    }
})

并且不要忘记数组中对象中的所有逗号。 (在id之后)

答案 1 :(得分:1)

假设您的数组如下:

 arr = [
  {"id":"3","name":"Clark"},
  {"id":"6","name":"David"},
  {"id":"8","name":"Miche"}
];

id = 6;

arr = $.grep(arr, function(data, index) {
   return data.id != id
});

现在最终这将返回数组,删除记录为id = 6

答案 2 :(得分:1)

如果你想直接操作数组的内容而不是返回新数组,你可以尝试这个

In [30]: df.loc[df.index.isin(['RowX']) & df['ID'].between(1, 1233), 'ValueX'].tolist()
Out[30]: [255.0, 255.0, 255.0]

检查Array.prototype.splice()了解更多信息

答案 3 :(得分:0)

假设您的数组存储在 obj 中,您可以使用lodash函数删除以下列方式删除数组中的项目。

_.remove(obj, function(currentObject) {
    return currentObject.id == "8";
});

将删除数组中包含'8'的项'2'