2015-03-25 2 views
0

У меня есть объект, который я пытаюсь проанализировать и удалить пустые свойства. У меня возникают проблемы с javascript, не соответствующим правильному утверждению.Javascript эквивалент строки для объекта

var filters = { prop1 : "", prop2 : "set", prop3 : "" }; 
var f; 
for(f in filters) { 
    if(filters[f] === "") { 
     delete filters[f]; 
    } 
} 

Использование отладки консоли Google, я знаю, что фильтры [е] дали мне «» для prop1 и утверждения фильтров [е] === «» приравнивает к истине, но она не входит в блок оператора if.

+6

Ваше объявление переменной говорит 'filter' но относятся к нему как' filters' позже. – Pointy

+0

Не удалось воспроизвести, голосуя, чтобы закрыть –

+0

Я исправил опечатку, это была моя ошибка при вводе вопроса с моей стороны. – azndude956

ответ

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"}