我正在尝试返回此对象的更新版本,但我似乎只能返回原始对象。这是我的代码:
var nameOne = {"name":"ernest", "age":50, funky:false};
function ObjLoop(user) {
for (var item in user){
if(user[item] === false){
delete user['item'];
//return user;
}
}
return user;
}
我也尝试在if语句中返回它,我不能让它只用年龄和名字来返回它。
这可能是一个愚蠢的修复,但我似乎无法弄清楚如何完成它。
答案 0 :(得分:0)
您正在删除名为item
的属性,而不是存储在变量item
delete user['item'];
你想要
delete user[item];
答案 1 :(得分:0)
在delete user['item']
中,您要删除item
引用的对象中user
名称的属性。您不需要引号,因为您要删除当前正在迭代的属性,其名称(或键)是item
的值而不是'item'
本身。
delete user[item];
答案 2 :(得分:0)
delete user['item'] // deletes "item" in user object . which does not exists;
delete user[item]; // just removes quotes round your key.