为什么这段代码不会返回false?
这个问题在这里已经有了答案:
return false是返回forEach使用的匿名函数。 所以它不会为every返回任何东西。 如果你想使用forEach并返回false,你必须这样做:
function every(array, predictate) {
var result = true;
array.forEach(function(x) {
if (!predictate(x)) {
result = false;
}
});
return result;
}
你的return false语句是针对forEach回调函数的,而不是针对外部的every 。
除非您将其更改为如下所示,否则every将始终返回true:
function every(array, predictate){
var retValue = true;
array.forEach(function(x){
if (!predictate(x))
{
retValue = false;
}
});
return retValue;
}
链接地址: http://www.djcxy.com/p/70059.html
