Javascript-检查是否存在';嵌套对象中的任何假值
我想检查此对象是否有任何Javascript-检查是否存在';嵌套对象中的任何假值,javascript,Javascript,我想检查此对象是否有任何true值 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
值
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
。提前谢谢 您的函数有错误
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.s.您想做什么。您的函数有错误
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;
}
这个问题对我来说有点难理解,不确定这些错误是否会导致你期望的输出,如果不是,那么你需要重新审视你的方法vs.你想做什么。你正在检查e中的
var i,并且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; }
您正在检查e
中的var i,并且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; }
实际上你做错了。如果至少有一次true,则返回true。你应该做以下几点:
function checkFalse(obj) {
for (var i in obj) {
for (var j in obj[i]) {
if (obj[i][j] == true) return true;
}
}
return false;
}
var test = {"colors":{"blue":false}, "sizes":{"square":false}};
console.log(checkFalse(test)); // for this you will get false since you do not have true in it.
var test = {"colors":{"blue":false}, "sizes":{"square":true}};
console.log(checkFalse(test)); // for this you will get true since you have a true in it.
实际上你做错了。如果至少有一次true,则返回true。你应该做以下几点:
function checkFalse(obj) {
for (var i in obj) {
for (var j in obj[i]) {
if (obj[i][j] == true) return true;
}
}
return false;
}
var test = {"colors":{"blue":false}, "sizes":{"square":false}};
console.log(checkFalse(test)); // for this you will get false since you do not have true in it.
var test = {"colors":{"blue":false}, "sizes":{"square":true}};
console.log(checkFalse(test)); // for this you will get true since you have a true in it.
您可以执行以下操作:
var test={“colors”:{“blue”:false},“size”:{“square”:true};
var-res=[];
for(var输入测试){
res=Object.key(test[key]).filter(函数(k){
返回测试[key][k]==true
});
}
console.log(res)
您可以执行以下操作:
var test={“colors”:{“blue”:false},“size”:{“square”:true};
var-res=[];
for(var输入测试){
res=Object.key(test[key]).filter(函数(k){
返回测试[key][k]==true
});
}
console.log(res)
您想要真值还是假值?您的问题标题和内容相互矛盾。不管怎样,您想要for(var j in e[i])
和if(e[i][j])
是的,对不起,我刚刚更正了。您想要真值还是假值?您的问题标题和内容相互矛盾。不管怎样,你想要for(var j in e[i])
和if(e[i][j])
是的,对不起,我刚刚更正了。