我有这个对象:
choices: {'Frederico' : true, 'Roberto' : false, 'Carlos' : false}
我试图仅记录具有真值的属性
for(var keyProperty in choices) {
if(choices.hasOwnProperty(keyProperty)) {
console.log(choices[keyProperty]);
}
}
但是我记录了所有正确的值。如何记录具有true
值的属性键?
答案 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) {
}