我想在找到元素后立即返回第一个函数。
这只是一个例子:
function foo(arr) {
arr.forEach(function (e) {
if (e == 4)
return true // this obviously does not return the foo function
});
return false
}

答案 0 :(得分:4)
仅仅因为我们有像forEach
这样的花哨功能,它并不意味着您在需要时仍然无法使用普通for
循环:
function foo(arr) {
for (var x = 0; x < arr.length; x++) {
if (arr[x] == 4)
return true;
}
return false;
}
答案 1 :(得分:1)
some()
方法测试数组中的某个元素是否通过了由提供的函数实现的测试。
some()
为数组中的每个元素执行一次callback
函数,直到找到callback
返回true值的一个元素。如果找到这样的元素,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>');
&#13;
答案 2 :(得分:1)
或者,如果您不想简单地选择老派foo
,则可以在for
函数的范围内设置变量。
function foo(arr) {
var result = false;
arr.forEach(function (e) {
if (e == 4)
result = true;
});
return result
}