Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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_Angularjs - Fatal编程技术网

Javascript 删除对象中的对象

Javascript 删除对象中的对象,javascript,angularjs,Javascript,Angularjs,我对JavaScript/AngularJS非常陌生,我想删除对象中的一个对象 让我们举个例子: var heroes = { 0: { name: 'Batman', gender: 'M' }, 1: { name: 'Superman', gender: 'M' }, 3: { name: 'Catwoman', gender: 'F' } }; 我想在gender==“F”时删除该对象

我对JavaScript/AngularJS非常陌生,我想删除对象中的一个对象

让我们举个例子:

var heroes = {
  0: { 
      name: 'Batman',
      gender: 'M'
  },
  1: {
      name: 'Superman',
      gender: 'M'
  },
  3: {
      name: 'Catwoman',
      gender: 'F'
  }
};

我想在
gender==“F”
时删除该对象

for(var hero of heroes) {
    if(hero.gender == 'F') {
        //Delete her
    }
}
删除英雄
无效,我有:

SyntaxError:将“delete”运算符应用于非限定名称是错误的 不赞成

使用

如果您不知道钥匙:

Object.keys(heroes).forEach( function (key) { //loop over the keys
    if (heroes[key].name==="Catwoman") {      //compare the name
        delete heroes[key];                   //remove the entry
    } 
} );
使用运算符

delete
操作符从对象中删除属性


使用上述代码

在您提出新问题之前,请使用搜索:。您确定您有一个循环的for…吗?默认情况下,它们不处理对象。在中对…使用
。没有什么比编辑更能改变最初提出的问题了。我的
对中的…使用
。问题出现了
删除英雄。那么,也许我在迭代一个对象数组/“也许我在迭代一个对象数组”好吧,你应该比我们更清楚:P如果是这样的话,那么它是
Object.keys(heroes).forEach( function (key) { //loop over the keys
    if (heroes[key].name==="Catwoman") {      //compare the name
        delete heroes[key];                   //remove the entry
    } 
} );
delete heroes['3'];
delete heroes[3];