- 41
- 0
需求是找到对应code第一次出现的位置,一下函数始终不能正确执行,大家帮忙改正下
let menus = [{
code: 2,
name: '222',
children: [
{
code: 33,
name: '222sa',
children: [
{
code: 44,
name: '22'
}
]
}
]
},{
code: 922,
name: '922',
children: [
{
code: 9222,
name: '92222222dsadsa',
children: [
{
code: 44222,
name: '442222dsads'
}
]
}
]
}]
function digui(arr, code) {
for(var i=0;i<arr.length;i++) {
if(arr[i].code == code) {
return arr[i]
} else {
if (arr[i].children) {
digui(arr[i].children, code)
}
}
}
}
console.log(digui(menus, 44222)) 0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
喜还∫生怯. 普通会员 1楼
递归是一种编程技术,它可以将一个问题分解为多个更小的相同问题,然后将这些更小的问题的解决方案合并成更复杂的问题的解决方案。以下是一些正确的使用递归的建议:
-
遵循递归的递归终止条件。递归的终止条件通常是问题的基本情况或某个特定的递归终止条件。在编写递归函数时,你应该明确地知道何时可以停止递归,否则递归可能会导致无限递归或栈溢出。
-
使用适当的数据结构和算法来优化递归。递归通常用于处理具有树或图结构的问题,但它们可能会导致大量的重复计算。在编写递归函数时,你应该使用适当的数据结构和算法来优化递归,以减少重复计算。
-
为递归函数编写文档。递归函数通常包含一个或多个函数调用,每个函数调用都执行相同的操作。因此,为递归函数编写文档可以帮助其他开发人员理解函数的工作原理和预期结果。
-
测试递归函数。递归函数的性能可能会因许多因素而异,包括递归的深度、问题的复杂性、数据结构的选择等。因此,你应该在实际应用中测试递归函数,以确保其性能和效率。
-
注意递归的内存使用。递归函数通常需要额外的内存来存储递归调用的上下文信息。如果递归的深度过深,可能会导致内存泄漏或栈溢出。因此,在编写递归函数时,你应该注意其内存使用,并采取适当的措施来避免这些问题。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
