Javascript 如何在子函数中返回值?

Javascript 如何在子函数中返回值?,javascript,function,closures,Javascript,Function,Closures,我想在找到元素后立即返回第一个函数 这只是一个例子: 函数foo(arr){ arr.forEach(功能(e){ 如果(e==4) return true//这显然不会返回foo函数 }); 返回错误 }使用 some()方法测试数组中的某个元素是否通过了所提供函数实现的测试 some()。如果找到这样的元素,some()立即返回true。否则,some()返回false回调仅对具有赋值的数组索引调用;对于已删除或从未赋值的索引,不会调用它 函数foo(arr){ 返回arr.some(函

我想在找到元素后立即返回第一个函数

这只是一个例子:

函数foo(arr){
arr.forEach(功能(e){
如果(e==4)
return true//这显然不会返回foo函数
});
返回错误
}
使用

some()
方法测试数组中的某个元素是否通过了所提供函数实现的测试

some()。如果找到这样的元素,
some()
立即返回
true
。否则,
some()
返回
false
<代码>回调
仅对具有赋值的数组索引调用;对于已删除或从未赋值的索引,不会调用它

函数foo(arr){
返回arr.some(函数(e){
返回e==4;
});
}
编写(foo([1,2,3,4])+“
”); 写(foo([1,2,3,42])+“
使用

some()
方法测试数组中的某个元素是否通过了所提供函数实现的测试

some()。如果找到这样的元素,
some()
立即返回
true
。否则,
some()
返回
false
<代码>回调
仅对具有赋值的数组索引调用;对于已删除或从未赋值的索引,不会调用它

函数foo(arr){
返回arr.some(函数(e){
返回e==4;
});
}
编写(foo([1,2,3,4])+“
”);
写(foo([1,2,3,42])+“
仅仅因为我们有像
forEach
这样的奇特函数,并不意味着当您需要时,您就不能在
循环中使用普通的

function foo(arr) {
    for (var x = 0; x < arr.length; x++) {
        if (arr[x] == 4)
            return true;
    }
    return false;
}
函数foo(arr){
对于(变量x=0;x
仅仅因为我们有像
forEach
这样的奇特功能,并不意味着在需要时,您不能在
循环中使用普通的

function foo(arr) {
    for (var x = 0; x < arr.length; x++) {
        if (arr[x] == 4)
            return true;
    }
    return false;
}
函数foo(arr){
对于(变量x=0;x
或者,如果您不想简单地为
选择一个老派的
,您可以在
foo
函数的范围内设置一个变量

function foo(arr) {
    var result = false;
    arr.forEach(function (e) {
      if (e == 4)
        result = true;
    });
    return result
}

或者,如果您不想简单地为
使用老式的
,您可以在
foo
函数的范围内设置一个变量

function foo(arr) {
    var result = false;
    arr.forEach(function (e) {
      if (e == 4)
        result = true;
    });
    return result
}

OP确实说过“一旦我找到元素”-这将在它们之间循环。呃,我在手机上,没有真正看到:)OP确实说过“一旦我找到元素”-这将在它们之间循环。呃,我在手机上,没有真正看到:)
返回arr[x]==4
也很好看。@Jai如果看到不匹配的元素,会立即返回false,而不是全部检查?
返回arr[x]==4
也很好看。@Jai如果看到不匹配的元素,它会立即返回false,而不是全部检查它们?