删除对象中的对象

时间:2016-05-31 14:14:48

标签: javascript angularjs

我是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
    }
}

delete hero不起作用,我有:

  

SyntaxError:应用'删除'操作员到一个不合格的名字是   弃用

3 个答案:

答案 0 :(得分:0)

使用delete operator

delete heroes[3]

如果您不知道密钥:

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

答案 1 :(得分:0)

使用delete运算符。

  

delete 运算符会从对象中删除属性。

delete heroes['3'];

答案 2 :(得分:0)

delete heroes[3];

使用上面的代码