首页 > 开发 > JS > 正文

JS实现水平遍历和嵌套递归操作示例

2024-05-06 16:54:13
字体:
来源:转载
供稿:网友

本文实例讲述了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();

以上,总结的有意思的逻辑,也是可以简化代码的方法。这样的逻辑还有很多………………

希望本文所述对大家JavaScript程序设计有所帮助。


注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表