从对象记录特定属性值

时间:2016-09-13 16:38:29

标签: javascript

我有这个对象:

choices: {'Frederico' : true, 'Roberto' : false, 'Carlos' : false}

我试图仅记录具有真值的属性

for(var keyProperty in choices) {
    if(choices.hasOwnProperty(keyProperty)) {
      console.log(choices[keyProperty]);
    }
}

但是我记录了所有正确的值。如何记录具有true值的属性键?

3 个答案:

答案 0 :(得分:3)

检查是否:

for(var keyProperty in choices) {
    if(choices.hasOwnProperty(keyProperty) && choices[keyProperty] === true) {
      console.log(choices[keyProperty]);
    }
}

答案 1 :(得分:1)

for(var keyProperty in choices) { if(allChoices.hasOwnProperty(keyProperty) && choices[keyProperty] === true) { console.log(keyProperty); } }

这样,您就会记录具有true值的属性,并忽略该值。

答案 2 :(得分:0)

您需要检查对象的类型是否为boolean。否则将记录所有真实值。

var choice = choices[keyProperty];
if(allChoices.hasOwnProperty(keyProperty) && typeof(choice) === 'boolean' && choice) {

}