使用已删除的键返回更新的对象

时间:2015-08-21 04:39:41

标签: javascript object return conditional

我正在尝试返回此对象的更新版本,但我似乎只能返回原始对象。这是我的代码:

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语句中返回它,我不能让它只用年龄和名字来返回它。

这可能是一个愚蠢的修复,但我似乎无法弄清楚如何完成它。

3 个答案:

答案 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.