js for循环 递归 return 失败

简介: js for循环 递归 return 失败
// 非常nice 的递归方法:
for (let i = 0, len = menuList.length; i < len; i++) {
console.log(Number(menuList[i].id), Number(obj.id))
if (Number(menuList[i].id) === Number(obj.id)) {
console.log(menuList[i], ‘--------------------9089899878979’)
return menuList[i];
}
if (menuList[i].children) {
this.findTreeOfObj(menuList[i].children, obj);
}
}


结果:走了打印的结果,却无法retrun


20200701183548719.png


改写成:


 let result = {};
                menuList.forEach(item => {
                    const loop = data => {
                        if (Number(data.id) === Number(obj.id)) {
                            result = data;
                            return result;
                        }
                        let child = data.children;
                        if (child) {
                            for (let i = 0; i < child.length; i++) {
                                loop(child[i])
                            }
                        }
                    }
                    loop(item);
                })
                return result;


结果:成功,


20200701183651438.png


相关文章
|
2月前
|
JavaScript 前端开发
JS循环for、for...of、for...in
本文介绍了JavaScript中不同的循环语句,包括传统的`for`循环、`for...of`循环用于遍历数组和类数组对象、`for...in`循环用于遍历对象的属性,并通过示例代码展示了它们的用法和区别。
43 6
JS循环for、for...of、for...in
|
2月前
|
JavaScript 前端开发
JavaScript基础知识-流程控制之while循环
这篇文章介绍了JavaScript中的while循环和do...while循环的基础知识,并通过一个实际案例演示了如何使用while循环计算投资增长到特定金额所需的年数。
50 2
JavaScript基础知识-流程控制之while循环
|
1月前
|
JavaScript 前端开发
js循环有几种
js循环有几种
31 0
|
3月前
|
JavaScript 前端开发
JavaScript中有哪几种循环?他们的运用场景在哪?
JavaScript中有哪几种循环?他们的运用场景在哪?
|
3月前
|
JavaScript 前端开发 索引
js的循环中foreach、for in和for of的区别
js的循环中foreach、for in和for of的区别
143 0
|
11天前
|
JavaScript
js动画循环播放特效源码(上班族的一天)
js动画循环播放特效是一段实现了包含形象的卡通小人吃、睡、电脑工作的网页动画,js循环动画,简单的画面设计。非常丝滑有意思,欢迎对此代码感兴趣的朋友前来下载参考。
22 2
|
1月前
|
前端开发 JavaScript
JavaScript递归菜单栏
JavaScript递归菜单栏
JavaScript递归菜单栏
|
2月前
|
前端开发 JavaScript
前端基础(八)_JavaScript循环(for循环、for-in循环、for-of循环、while、do-while 循环、break 与 continue)
本文介绍了JavaScript中的循环语句,包括for循环、for-in循环、for-of循环、while循环、do-while循环以及break和continue的使用。
51 1
前端基础(八)_JavaScript循环(for循环、for-in循环、for-of循环、while、do-while 循环、break 与 continue)
|
2月前
|
JSON JavaScript 前端开发
JavaScript第五天(函数,this,严格模式,高阶函数,闭包,递归,正则,ES6)高级
JavaScript第五天(函数,this,严格模式,高阶函数,闭包,递归,正则,ES6)高级
|
2月前
|
JavaScript 前端开发 索引