Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何按对象键名从对象数组中删除对象?_Javascript - Fatal编程技术网

Javascript 如何按对象键名从对象数组中删除对象?

Javascript 如何按对象键名从对象数组中删除对象?,javascript,Javascript,我希望能够通过对象的键名从该对象数组中单独删除对象。因此,如果我想删除item1,我会调用一个函数或类似的东西,它会完全删除它 var list = [{item1: 'Foo'}, {item2: 'Bar'}]; removeObjectByKeyName(item1); 我希望删除后的对象数组是[{item2:'Bar'}] 感谢您的帮助。谢谢 一个选项是使用filter过滤没有属性名的数组元素toRemove var列表=[{ 项目1:‘Foo’ }, { 第2项:“酒吧” }];

我希望能够通过对象的键名从该对象数组中单独删除对象。因此,如果我想删除
item1
,我会调用一个函数或类似的东西,它会完全删除它

var list = [{item1: 'Foo'}, {item2: 'Bar'}];

removeObjectByKeyName(item1);
我希望删除后的对象数组是
[{item2:'Bar'}]


感谢您的帮助。谢谢

一个选项是使用
filter
过滤没有属性名的数组元素
toRemove

var列表=[{
项目1:‘Foo’
}, {
第2项:“酒吧”
}];
var toRemove='item1';
var result=list.filter(o=>!(在o中移动));

控制台日志(结果)
一个选项是使用
filter
来过滤没有属性名的数组元素
toRemove

var列表=[{
项目1:‘Foo’
}, {
第2项:“酒吧”
}];
var toRemove='item1';
var result=list.filter(o=>!(在o中移动));

控制台日志(结果)此函数将执行您需要的操作:

var list = [{item1: 'Foo'}, {item2: 'Bar'}];

function removeObjectByKeyName(list, key) {
  return list.filter(item => !Object.keys(item).find(k => k === key) )
}

removeObjectByKeyName(list, 'item1') // [{item2: 'Bar'}]

此功能将执行您需要的操作:

var list = [{item1: 'Foo'}, {item2: 'Bar'}];

function removeObjectByKeyName(list, key) {
  return list.filter(item => !Object.keys(item).find(k => k === key) )
}

removeObjectByKeyName(list, 'item1') // [{item2: 'Bar'}]

您可以使用
filter
hasOwnProperty

var列表=[{
项目1:‘Foo’
}, {
第2项:“酒吧”
}];
var toRemove='item1';
var result=list.filter(o=>!o.hasOwnProperty(toRemove));

控制台日志(结果)
您可以使用
过滤器
hasOwnProperty

var列表=[{
项目1:‘Foo’
}, {
第2项:“酒吧”
}];
var toRemove='item1';
var result=list.filter(o=>!o.hasOwnProperty(toRemove));
控制台日志(结果)