为什么返回值在我的递归函数中变得未定义?

shu

我写了这个 sum 函数来习惯编写递归函数。

我认为当我完成写作时它会起作用,但最终的总和值变得不确定。

此函数中没有异步部分,但此函数的返回值未定义,我不明白为什么...

我究竟做错了什么?

谁能告诉我如何解决这个问题?

谢谢!!

我的代码

function sum() {

    var numbers = [...arguments];

    if (numbers.length === 0) {
        return 0;
    }

    if (numbers.length === 1) {

        // it shows 15 here!!
        console.log(numbers[0]) 

        // But it returns undefined... Why!?
        return numbers[0]; 

    }

    var summedValue = numbers[0] + numbers[1];
    var restNumbers = numbers.slice(2);

    sum(summedValue, ...restNumbers)

}


console.log(sum(1, 2, 3, 4, 5)) //undefined
gurvinder372

return numbers[0];不返回undefined,它返回正确的值(在您的情况下为15)。

但是,您的递归函数不会向 返回任何内容console.log,使其成为

return sum.apply(null, [summedValue].concat(restNumbers))

演示

function sum() {

  var numbers = Array.from(arguments);

  if (numbers.length === 0) {
    return 0;
  }

  if (numbers.length === 1) {

    // it shows 15 here!!
    console.log(numbers)

    // But it returns undefined... Why!?
    return numbers[0];

  }

  var summedValue = numbers[0] + numbers[1];
  var restNumbers = numbers.slice(2);

  return sum.apply(null, [summedValue].concat(restNumbers))

}


console.log(sum(1, 2, 3, 4, 5)) //undefined

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的递归函数返回未定义?

来自分类Dev

为什么我的递归函数返回“未定义”?

来自分类Dev

为什么我变得未定义不是函数,ReactJs

来自分类Dev

为什么我的MySQL函数不断变得“未定义”?

来自分类Dev

为什么我在 Firebase 中收到此错误“函数返回未定义、预期的承诺或值”

来自分类Dev

为什么从“ findLocation()”返回值未定义的promise?

来自分类Dev

如果未定义析构函数,为什么不进行返回值优化?

来自分类Dev

Node JS,Javascript:为什么函数返回值未定义?

来自分类Dev

为什么此递归函数返回未定义?

来自分类Dev

为什么我使用“ This”参数从Find()获得“未定义”返回值?

来自分类Dev

函数返回值未定义

来自分类Dev

未定义的返回值猫鼬/ Node.js递归函数

来自分类Dev

为什么函数结束后我的数组变得未定义?

来自分类Dev

函数返回值返回未定义

来自分类Dev

为什么函数返回未定义?

来自分类Dev

为什么我的变量在javascript中返回未定义?

来自分类Dev

为什么我在尝试访问通过 ajax 返回的 json 数据中的值时未定义

来自分类Dev

为什么变量在$(document).keypress中变得未定义?

来自分类Dev

为什么变量在$ {document).keypress中变得未定义?

来自分类Dev

为什么我从异步函数中获得未定义的值?

来自分类Dev

为什么在响应生产构建中lodash获取未定义嵌套对象的返回值?

来自分类Dev

JavaScript函数返回值未定义

来自分类Dev

Javascript:递归函数返回未定义的现有值

来自分类Dev

当我在node.js中调用ajax作为未定义的返回值时

来自分类Dev

量角器中的返回值未定义

来自分类Dev

开关返回值未定义

来自分类Dev

Javascript中的递归函数返回未定义

来自分类Dev

返回未定义数组中随机元素的递归函数

来自分类Dev

为什么我的变量在我的函数之外未定义?

Related 相关文章

  1. 1

    为什么我的递归函数返回未定义?

  2. 2

    为什么我的递归函数返回“未定义”?

  3. 3

    为什么我变得未定义不是函数,ReactJs

  4. 4

    为什么我的MySQL函数不断变得“未定义”?

  5. 5

    为什么我在 Firebase 中收到此错误“函数返回未定义、预期的承诺或值”

  6. 6

    为什么从“ findLocation()”返回值未定义的promise?

  7. 7

    如果未定义析构函数,为什么不进行返回值优化?

  8. 8

    Node JS,Javascript:为什么函数返回值未定义?

  9. 9

    为什么此递归函数返回未定义?

  10. 10

    为什么我使用“ This”参数从Find()获得“未定义”返回值?

  11. 11

    函数返回值未定义

  12. 12

    未定义的返回值猫鼬/ Node.js递归函数

  13. 13

    为什么函数结束后我的数组变得未定义?

  14. 14

    函数返回值返回未定义

  15. 15

    为什么函数返回未定义?

  16. 16

    为什么我的变量在javascript中返回未定义?

  17. 17

    为什么我在尝试访问通过 ajax 返回的 json 数据中的值时未定义

  18. 18

    为什么变量在$(document).keypress中变得未定义?

  19. 19

    为什么变量在$ {document).keypress中变得未定义?

  20. 20

    为什么我从异步函数中获得未定义的值?

  21. 21

    为什么在响应生产构建中lodash获取未定义嵌套对象的返回值?

  22. 22

    JavaScript函数返回值未定义

  23. 23

    Javascript:递归函数返回未定义的现有值

  24. 24

    当我在node.js中调用ajax作为未定义的返回值时

  25. 25

    量角器中的返回值未定义

  26. 26

    开关返回值未定义

  27. 27

    Javascript中的递归函数返回未定义

  28. 28

    返回未定义数组中随机元素的递归函数

  29. 29

    为什么我的变量在我的函数之外未定义?

热门标签

归档