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

How to check "truthyness" of an object, and then delete the falsy ones and edit the object

本文关键字:对象 真实性 然后 删除 编辑 何检查 检查      更新时间:2023-09-26

我需要获取这个对象,检查每个属性的真实性,然后删除不真实的属性。

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]);    
}

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

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

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

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