num_1:
for(let i in data){
if(data[i].path == path){
return data[i]
}else{
for(let k in data[i].sub){
if(data[i].sub[k].path == path){
return data[i].sub[k]
}else{
for(let j in data[i].sub[k].sub){
if(data[i].sub[k].sub[j].path == path){
return data[i].sub[k].sub[j]
}
}
}
}
}
}
num_2:利用箭头函数以及forEach和递归函数的原理对上面的函数进行了优化
let isPath = data.find(i => i.path === path)
if (isPath) {
return isPath
}else{
let arr = []
data.forEach(i => {
if (i.sub && i.sub.length) {
arr = arr.concat(i.sub)
}
})
return fn(arr, path)
}
函数优化(递归函数的应用)
最新推荐文章于 2022-05-20 05:00:00 发布