如何检查json对象中的所有键是否等于true? 我的对象看起来像这样
success = {
"first_name": false,
"middle_name": false,
"last_name": false,
"d_o_b": false,
"sex": false,
"email": false,
"re_email": false,
"password": false,
"re_password": false
};
我处理了这个对象,结果确定的所有东西都改为true, 现在最后我想检查一切是否都是真的,我该怎么做? 谢谢: - )
答案 0 :(得分:11)
或者功能更多:
Object.keys(success).every(function(key) {
return success[key];
});
答案 1 :(得分:2)
最直接的方法是使用for
循环。这将确保它可以与可能不支持迭代器的旧浏览器一起使用。
var all_true = true;
for (var s in success) {
if (!success[s]) {
all_true = false;
break;
}
}
break
并不是绝对必要的,但是如果你所关心的一切都是假的,那么就会使循环短路。
答案 2 :(得分:2)
var everythingOK = true;
for (var i = 0; i < success.length; i++)
{
if( ! success[i])
{
everythingOK = false;
break;
}
}
if(everythingOK)
alert('Success!');
这应该做;)