2

如何检查 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
};

我处理了这个对象,结果一切正常的事情都变成了真的,现在最后我想检查一下是否一切都是真的,我该怎么做?谢谢 :-)

4

3 回答 3

12

或者更实用一点:

Object.keys(success).every(function(key) {
  return success[key];
});
于 2013-07-19T17:32:31.930 回答
2

最直接的方法是使用for循环。这将确保它适用于可能不支持迭代器的旧浏览器。

var all_true = true;
for (var s in success) {
    if (!success[s]) {
        all_true = false;
        break;
    }
}

break不是绝对必要的,但如果您所关心的所有内容都不是错误的,那么它将使循环短路。

于 2013-07-19T17:31:55.910 回答
2
var everythingOK = true;

for (var i = 0; i < success.length; i++)
{
    if( ! success[i])
    {
         everythingOK = false;
         break;
    }
} 


if(everythingOK) 
    alert('Success!');

这应该做;)

于 2013-07-19T17:35:22.323 回答