在 JavaScript 中根据键值查找和删除数组中的对象

2022-08-30 01:25:32

我一直在尝试几种方法,了解如何在数组中查找对象,其中ID = var,如果找到,请从数组中删除对象并返回新的对象数组。

数据:

[
    {"id":"88","name":"Lets go testing"},
    {"id":"99","name":"Have fun boys and girls"},
    {"id":"108","name":"You are awesome!"}
]

我能够使用jQuery搜索数组$grep;

var id = 88;

var result = $.grep(data, function(e){
     return e.id == id;
});

但是,当 id == 88 时,如何删除整个对象,并返回如下数据?

数据:

[
    {"id":"99", "name":"Have fun boys and girls"},
    {"id":"108", "name":"You are awesome!"}
]

答案 1

如果您不使用jQuery,这里有一个解决方案:

myArray = myArray.filter(function( obj ) {
  return obj.id !== id;
});

答案 2

我可以grep数组作为id,但是我怎么能删除id == 88的整个对象

只需按相反的谓词进行筛选:

var data = $.grep(data, function(e){ 
     return e.id != id; 
});