要素を見つけるとすぐに最初の関数を返したいと思います。サブ関数内の値を返す方法は?
function foo(arr) {
arr.forEach(function (e) {
if (e == 4)
return true // this obviously does not return the foo function
});
return false
}
要素を見つけるとすぐに最初の関数を返したいと思います。サブ関数内の値を返す方法は?
function foo(arr) {
arr.forEach(function (e) {
if (e == 4)
return true // this obviously does not return the foo function
});
return false
}
我々はforEach
のような派手な機能を持っているからといって、それはあなたがそれらを必要とするとき、あなたはまだ、プレーンfor
ループを使用することはできませんという意味ではありません:
function foo(arr) {
for (var x = 0; x < arr.length; x++) {
if (arr[x] == 4)
return true;
}
return false;
}
some()
方法テストをアレイ内のいくつかの要素が設けられた関数によって実装試験に合格するかどうか:これは単なる一例です。
some()
は、callback
が真の値を返すものを見つけるまで、アレイに存在する各要素に対して1回、callback
関数を実行します。そのような要素が見つかると、some()
はすぐにtrue
を返します。それ以外の場合、some()
はfalse
を返します。callback
は、値が割り当てられた配列のインデックスに対してのみ呼び出されます。削除されたか、または値が割り当てられていない索引に対しては呼び出されません。
function foo(arr) {
return arr.some(function (e) {
return e == 4;
});
}
document.write(foo([1, 2, 3, 4]) + '<br>');
document.write(foo([1, 2, 3, 42]) + '<br>');
または、単に古い学校に行くことを望まない場合は、foo
の範囲内の変数を設定することができますfor
。
function foo(arr) {
var result = false;
arr.forEach(function (e) {
if (e == 4)
result = true;
});
return result
}
OPは「要素を見つけるとすぐに」と言っていました。 –
ええと、私は携帯で、本当にそれを見ていない:) – Eduard
'return arr [x] == 4;'も見てよかったです。 – Jai
@Jaiは、それらをすべてチェックするのではなく、一致しない要素を見てすぐにfalseを返すでしょうか? –