如何检查json中的所有键是否都为true

时间:2013-07-19 17:30:06

标签: javascript jquery

如何检查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, 现在最后我想检查一切是否都是真的,我该怎么做? 谢谢: - )

3 个答案:

答案 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!');

这应该做;)