gpt4 book ai didi

javascript - 为什么我的 boolean 值返回 'undefined' ?

转载 作者:行者123 更新时间:2023-12-02 15:40:03 24 4
gpt4 key购买 nike

我正在使用 Eloquent Javascript,有一个练习来创建一个 every 函数,该函数接受一个数组和一个函数,并根据数组中的所有项目返回的内容返回 true 或 false浏览该函数。

我很困惑,因为当我在函数中执行 console.log() 时,我得到 boolean 值两次......但是当我执行 console.log(every(arr, func)) 时,我得到 undefined .

var every = function(arr, req){
arr.map(function(item){
return req(item);
}).reduce(
function(total, num){

// this returns: true
// true
console.log(total && num);

return total && num;
});


}

// This returns undefined
console.log(every([NaN, NaN, NaN], isNaN));

那么为什么我在函数中得到两次 true ,以及为什么我的结果未定义?

我使用 Node 作为控制台。

最佳答案

您需要向最外层函数添加一个 return 语句,如下所示:

var every = function(arr, req){
return arr.map(function(item){
return req(item);
}).reduce(
function(total, num){
return total && num;
});
}

// This returns true
console.log(every([NaN, NaN, NaN], isNaN));

编辑:固定返回值,感谢@Kevin B

关于javascript - 为什么我的 boolean 值返回 'undefined' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32661243/

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