Javascript - 检查嵌套对象中是否存在任何错误值

时间:2018-01-14 15:46:01

标签: javascript

我想检查此对象是否有任何var test = {"colors":{"blue":false}, "sizes":{"square":true}};

function checkFalse(obj) {
    for (var i in e) {
        for (var j in i) {
            if (i[j] == false) return false;
        }
    }
    return true;
}

我尝试使用以下代码

true

但它始终返回justifyContent: 'space-evenly'。提前谢谢!

4 个答案:

答案 0 :(得分:1)

您的功能有错误。

function checkFalse(obj) {
    for (var i in e) { //This line had an error 
        for (var j in e[i]) { //So did this.
            if (e[i][j] == true) return false;
        }
    }
    return true;
}

这个问题对我来说有点难以理解,不确定错误是否会导致你期望的输出,如果没有,那么你需要重新审视你的方法v。你想做什么。

答案 1 :(得分:1)

您正在检查var i in e并且e不存在。请尝试以下代码:

    function checkFalse(obj) {
var tempbool = false;
     for (var i in obj) {
 for (var j in i) {
 if (i[j] == true) tempbool = true;
 } 
} 
return tempbool; }

答案 2 :(得分:1)

其实你做错了。如果您至少有一次真实,这将返回true。你应该这样做:

$$("img").forEach(img => {
  if (!img.naturalWidth && !img.naturalHeight) {
    img.src = img.src;
  }
}

答案 3 :(得分:1)

您可以执行以下操作:

var test = {"colors":{"blue":false}, "sizes":{"square":true}};
var res = [];
for(var key in test){
  res = Object.keys(test[key]).filter(function(k){
    return test[key][k] == true
  });
}

console.log(res)