Javascript 删除对象中的对象
我对JavaScript/AngularJS非常陌生,我想删除对象中的一个对象 让我们举个例子: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”时删除该对象
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];