如何检查对象的“真实性”,然后删除虚假对象并编辑对象

时间:2014-11-18 01:03:07

标签: javascript object truthiness

我需要抓住这个对象,检查每个属性的真实性,然后删除那些不合理的东西。

var user = {
name: 'my name', 
email: null,
pwHash: 'U+Ldlngx2BYQk',
birthday: undefined,
username: 'myname33',
age: 0
}

这是我正在尝试的代码

function truth(x) {
    if (x) {
    console.log("truthy");
    } else {
    delete; 
    }
}

for (x in user) {
    truth(user[x]);    
}

但它不起作用,我甚至不确定我是否完全理解如何确保我正确地检查真相。我做错了什么?

1 个答案:

答案 0 :(得分:2)

删除对象和属性时必须同时指定对象和属性。

仅仅从您传递给函数的属性中复制的值是不够的,因此您无法在该函数中执行此操作(除非您还传入对象引用和属性名称) )。

for (x in user) {
  if (user[x]) {
    console.log("truthy");
  } else {
    delete user[x];
  }
}