幽灵资源网 Design By www.bzswh.com
本文实例讲述了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();
以上,总结的有意思的逻辑,也是可以简化代码的方法。这样的逻辑还有很多………………
PS:这里再为大家推荐一款JS数组遍历方式分析对比工具供大家参考:
在线JS常见遍历方式性能分析比较工具:http://tools.jb51.net/aideddesign/js_bianli
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript遍历算法与技巧总结》、《javascript面向对象入门教程》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
标签:
JS,水平遍历,嵌套递归
幽灵资源网 Design By www.bzswh.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
暂无评论...