这篇文章主要介绍了JS如何实现水平遍历和嵌套递归操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
具体如下:
程序中存在着一些有意思的逻辑,比如多层嵌套可以用递归遍历,比如同层的if else可以用数组遍历。
下面举例说明,多层嵌套的if else想要递归遍历需要写成下面的形式,以及用特定形式的递归遍历:
多层嵌套的if else转写成的函数
let p1 = false, p2 = true, p3 = false; let test = function() { if (p1) { return '终止1'; } else { return function() { if (p2) { return '终止2' } else { return function() { if (p3) { return '终止3' } } } } } }
对多层嵌套的遍历:
function yunxing1() { while (test()) { test = test() if (typeof test === 'string') { alert(test) return '终止' } } } yunxing1()
同层多个if else改写的函数以及遍历方法
let i = 1, a = 2, b = 3; function simpleVlidate() { let varr = []; varr.push(() => { if (i === 1) { return '不能等于1' } }) varr.push(() => { if (a === 2) { return '不能等于2' } }) varr.push(() => { if (b === 3) { return '不能等于3' } }) return varr } let arrs = simpleVlidate(); function yunxing() { for (let i = 0, fn; fn = arrs[i++];) { if (fn()) { alert(fn()) return; } } console.log(343433333333) } yunxing();
感谢你能够认真阅读完这篇文章,希望小编分享的“JS如何实现水平遍历和嵌套递归操作”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。