小编J D*_*Doe的帖子

无论是否有足够的 return 语句,递归函数都返回 undefined

我已经阅读了一些关于它的问题和答案。看起来我的递归函数有足够的“返回”语句,所以......我不知道为什么它返回 undefined......我添加了额外的日志语句来表明函数本身找到了元素,但没有返回它...

let animals = [
  {
    name: "dogs",
    id: 1,
    children: [
      {
        name: "lessie",
        id: 2
      },
      {
        name: "bark-a-lot",
        id: 3
      }
    ]
  },
  {
    name: "cats",
    id: 4,
    children: [
      {
        name: "meows-a-lot",
        id: 5,
        children: [
          {
            name: "meows-a-lot-in-the-morning",
            id: 6
          }
        ]
      },
      {
        name: "whisk-ass",
        id: 7
      }
    ]
  }
];

function recurseFind(node, id) {
  if (Array.isArray(node)) {
    return node.forEach(el => {
      return recurseFind(el, id);
    });
  } else {
    if (node.id === id) …
Run Code Online (Sandbox Code Playgroud)

javascript recursion

3
推荐指数
1
解决办法
47
查看次数

标签 统计

javascript ×1

recursion ×1