有一树状数据结构;假设有5个分支;现在我要找到一个节点;该结点在第一个分支的第三层;怎在找到这个节点后后面的树都不遍历了?也就是跳出整个递归?我写了一个简单的测试发现并不能跳出递归
var arr = [[1,2],[3,4]]
const deep = (arr) => {
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
deep(arr[i])
} else {
console.log(arr[i])
if (arr[i] === 2) return
}
}
}
deep(arr)
还是说递归本身是无法中断的?
给你的deep函数添加一个返回值, 然后循环的时候判断这个值
不存在递归无法跳出的情况, 所有递归都能改成循环, 都可以跳出