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,而不是全部检查它们?