私はtrueまたはfalseを返す関数を持っています。Javascriptのインターレーターの中から値を返す方法
関数内では、ページ上のいくつかの要素を繰り返し、その値をチェックします。
しかし、イテレータ内にreturn文を置くと、匿名関数から正しく戻りますか? (外部関数ではありません)。
function someElementHasZeroValue() {
$('.some-class').each(function(){
if($(this).html() == '0'){
return true;
}
});
return false;
}
したがって、この関数は何に関係なく常にfalseを返します。
これを行うにはどのような方法が最適ですか?下の解決策はうまくいくようですが、それほどエレガントではありません。より一般的に
function someElementHasZeroValue() {
elements_found_with_zero_value = 0;
$('.some-class').each(function(){
if($(this).html() == '0'){
elements_found_with_zero_value += 1;
}
});
if(elements_found_with_zero_value > 0){
return true;
}else {
return false;
}
}
Javascriptがほとんどの言語のような通常のイテレータとは対照的に、無名関数を持つ要素を反復処理する必要があります、または私は認識していないよそれを行うにはいくつかの方法があり、なぜ、誰もが知っているのですか?