我有一个对象,我试图解析并删除空的属性。我有javascript的问题没有正确地等同声明。
var filters = { prop1 : "", prop2 : "set", prop3 : "" };
var f;
for( f in filters) {
if(filters[f] === "") {
delete filters[f];
}
}
使用google的调试控制台,我知道过滤器[f]为prop1提供了“”,过滤器[f] ===“”的语句等同于true,但它没有进入if语句块内。
答案 0 :(得分:1)
如果你在变量名中修正拼写错误,它似乎就像你期望的那样工作
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"}