我需要获取这个对象,检查每个属性的真实性,然后删除不真实的属性。
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];
}
}
关于javascript - 如何检查对象的 "truthyness",然后删除虚假的并编辑对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26984875/