ser*_*erg 29 javascript jquery
我有这样的代码:
function allValid() {
$('input').each(function(index) {
if(something) {
return false;
}
});
return true;
}
Run Code Online (Sandbox Code Playgroud)
总是返回true作为return false;影响匿名内部函数.是否有一种简单的方法来调用外部函数的返回?
PS.我不是在找一个解决方法,只是想知道原始问题的答案.如果答案"不可能",那就没问题了.
bch*_*rry 21
是的,将它存储在局部变量中.
function allValid() {
var allGood = true;
$('input').each(function (index) {
if (something) {
allGood = false;
}
});
return allGood;
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用过滤器执行此操作:
var anyInvalid = $('input').filter(function(index) {
if(inValidCheck)
return true;
}).length;
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为0被视为false,但实际上它给你无效的数量,你可以使用它来显示"你有3个无效的条目"或者你想要的东西.
您还可以使用Array.prototype.some进行迭代,直到找到与条件匹配的元素。
function allValid() {
var inputs = $('input');
if(inputs.toArray().some(function(input){
if(something)
return true;
})) {
return false;
} else {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)