网络编程
位置:首页>> 网络编程>> JavaScript>> JS实现水平遍历和嵌套递归操作示例

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

作者:zhensg  发布时间:2024-04-22 12:48:01 

标签:JS,遍历,递归

本文实例讲述了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程序设计有所帮助。

来源:https://www.cnblogs.com/zhensg123/p/10753114.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com