我有一个对象,我正在尝试解析并删除空属性。我遇到了 javascript 问题,无法正确地等同于该语句。
var filters = { prop1 : "", prop2 : "set", prop3 : "" };
var f;
for( f in filters) {
if(filters[f] === "") {
delete filters[f];
}
}
使用谷歌的调试控制台,我知道filters[f]给了我prop1的“”,并且filters[f] ===“”的语句等于true,但它没有进入if语句 block 内。
最佳答案
如果您修复了变量名称中的拼写错误,它似乎会像您期望的那样工作
var filters = { prop1 : "", prop2 : "set", prop3 : "" };
// ^ added
var f;
for( f in filters) {
if(filters[f] === "") {
delete filters[f];
}
}
console.log(filters); // Object {prop2: "set"}
关于对象上的 Javascript 字符串等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29267192/