gpt4 book ai didi

Javascript 'Every' 函数,返回 false 无效,EJS CH 5 问题

转载 作者:行者123 更新时间:2023-11-30 12:03:22 25 4
gpt4 key购买 nike

我正在解决关于高阶函数的 Eloquent Javascript Ch 5 中的问题。我被困在最后一个问题上,'Every and then Some',可以在页面底部找到(抱歉,声誉不够高,无法进行多个链接)。我最初使用 for 循环轻松完成了作业,但有兴趣尝试使用程序前面提到的“forEach”函数:

var every = function(array, callback) {
each(array, function(element) {
if(callback(element) === false) {
return false;
}
});
return true;
}

但我的代码似乎从未在 if block 中触发“return false”。我使用一个单独的变量作为开关修复了这个问题:

var every = function(array, callback) {
var boolSwitch = true;
each(array, function(element) {
if(!(callback(element))) {
boolSwitch = false;
}
});
return boolSwitch;
}

但我很好奇为什么我的初始代码不起作用?这是我一直在摆弄的 jsfiddle。

初始代码(为什么这行不通???):https://jsfiddle.net/g5eqzs1b/

谢谢!

最佳答案

这是因为您从内部匿名函数返回 false。这不会导致迭代停止,它的工作方式类似于 continue

使用单独的变量使得 return false 语句适用于 every 函数,而不是传递给 each 的内部匿名函数

关于Javascript 'Every' 函数,返回 false 无效,EJS CH 5 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36024947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com