使用变量 属性 值从 javascript 数组中删除对象

Delete object from javascript array using variable property value

大家好,javascript 是个新手,希望能为我遇到的这个问题提供一些帮助。基本上我想要做的是从我的数组中删除一个对象。该数组包含这样的对象:y = [{id:group}].

我想使用对象的 ID 删除一个对象,它是第一列。

我试过的是循环遍历数组找到对应的id删除,但是这里的问题是第一列没有标注"id",第一列是id形式(例如 123).

如有任何帮助,我们将不胜感激。

y = [{123:1},{321:2},{234:3}]
id = 123;

  for (var i = 0; i < y.length; i++)
    if (y[i].id === id) {
      y.splice(i,1);
    }
//Does not work because the first column of the object is not named "id"

只需检查特定键:

for (var i = 0; i < y.length; i++)
  if (key in y[i]) {
    y.splice(i,1);
  }
}

您可以使用 filter 而不是循环:

var y = [{123:1},{321:2},{234:3}]
var id = 123;

y = y.filter((obj) => !obj.hasOwnProperty(id));

console.log(y);

我使用两个参数(数组,对象的键)创建一个函数 在数组中使用 forEach 方法,我检查并比较给定键(通过参数)与对象中存在的键 elements.If 是真的,然后我使用 splice() 方法删除包含键的对象:

y = [{123:1},{321:2},{234:3}];

function deleteObj(arg,value){
  arg.forEach(function(element){       
    var index=arg.indexOf(element);    
    if(Object.keys(element)==value.toString()){
      arg.splice(index,1);
    }
  });
}
deleteObj(y,123);

console.log(y);