【问题标题】:Why Reduce Helper is returning NaN?为什么 Reduce Helper 返回 NaN?
【发布时间】:2021-06-25 06:10:33
【问题描述】:

我在this website 上尝试了这段代码,它运行良好并返回了应有的 60,但是当我尝试在 HTML 网页上运行它时,首先它返回 10,其他 2 个值将是 NaN,我不知道'不明白为什么会发生这个错误。 非常感谢您的解决方案。

var numbers = [ 10, 20, 30 ] ;

numbers.reduce(function(sum , number){
     return console.log( sum + number);
} , 0);

【问题讨论】:

  • 你忘了在reduce函数中return number
  • ....如果第一个提示没有帮助,请通过编辑将您的调试尝试添加到问题中
  • @NicoHaase 嘿,我这样做了,但在控制台中什么也没看到。
  • 它可能是你声明的数字,即使数字已经是一个参数。此外,您帖子中的超文本不会去任何地方...
  • “我做到了”是什么意思?请分享您的调试尝试

标签: javascript reduce helper


【解决方案1】:

在 reduce 函数中,您返回 console.log()console.log() 不返回任何内容 (undefined),因此您的总和也变得未定义。 undefined + 10 会给你NaN 错误。

如果您想在控制台中查看内容,并且让功能按预期工作,您需要 1)返回数字和 2)在代码中包含 console.log。换句话说,像

var numbers = [ 10, 20, 30 ] ;

numbers.reduce(function(sum , number){
     console.log( sum + number);
     return sum + number;
} , 0);

【讨论】:

    【解决方案2】:

    您不应返回console.log。这总是返回 undefined:

    const numbers = [ 10, 20, 30 ] ;
    
    numbers.reduce(function(sum , number) {
      console.log(sum + number);
    
      return sum + number;
    } , 0);

    【讨论】:

    • 真的吗?我不认为我曾经返回过 console.log。确实很有趣。
    猜你喜欢
    • 2021-06-28
    • 2017-05-10
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 2020-01-07
    • 2011-10-23
    相关资源
    最近更新 更多