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


猜你喜欢
- 例子是输出九九乘法表如果按照如下程序写:# 输出九九乘法表 for i in range(10): for j in range
- 本文实例为大家分享了python实现双链表的具体代码,供大家参考,具体内容如下实现双链表需要注意的地方1、如何插入元素,考虑特殊情况:头节点
- 在写桌面软件时,通常会使用到托盘上的泡泡提示功能,让我们来看看使用python如何实现这个小功能。一、Linux系统在Linux上,实现一个
- 目录项目地址:前言使用方式主要代码blive_record.pyconfig.py(配置文件)项目地址:https://github.com
- 1,CSS,JS,IMG一个都不能少运行代码框<style type="text/css">&l
- 本文实例讲述了Python中str.join()简单用法。分享给大家供大家参考,具体如下:Python join() 方法用于将序列中的元素
- 一、读写文件在 Python 中,我们可以使用 open() 函数打开文件,with 语句可以自动关闭文件。读取文件内容:with open
- 代码如下:ALTER function [dbo].[GetOrderNum]( @ebaystockflag varchar(20)//规
- vue单页开发时经常需要父子组件之间传值,自己用过但是不是很熟练,这里我抽空整理了一下思路,写写自己的总结。GitHub地址:https:/
- 网站 首页页面宽度 px Yahoo! 950 淘宝 950 MySpace 960 新浪 950 网易 960 Live Search 9
- 前言本篇文章主要是记录一下在 GScript 中实现递归调用时所遇到的坑,类似的问题在中文互联网上我几乎没有找到相关的内容,所以还是很有必要
- 作为一个MySQL的系统管理员,你有责任维护你的MySQL数据库系统的数据安全性和完整性。本文主要主要介绍如何建立一个安全的MySQL系统,
- 为什么要用flash呢?动画流畅,视觉效果好缓存能力强那使用flash有什么问题呢?需要Flash播放器在M$的补丁打遍天下之前IE有那神奇
- Oracle数据库以其高可靠性、安全性、可兼容性,得到越来越多的企业的青睐。如何使Oracle数据库保持优良性能,这是许多数据库管理员关心的
- 随着短视频应用的普及,越来越多人开始了解并尝试制作自己的短视频作品。而在制作短视频时,背景音乐的选择和使用也是非常重要的一步。很多人喜欢选择
- 在这篇文章中,我将介绍如何识别导致性能出现问题的查询,如何找出它们的问题所在,以及快速修复这些问题和其他加快查询速度的方法。你一定知道,一个
- 如何显示随机信息?使用了asp的randomize来创造随机数,select case来显示自定义信息。具体代码如下:<html>
- Python——re模块 简介定义:re模块称为正则表达式;作用:创建一个"规则表达式",用于验证和查找符合规
- 0x00 is与====运算符是比较两个对象的内容是否相等,默认情况是调用对象的__eq__方法进行比较;而is是比较两个对象是否一样,它比
- 写models.py时缺少了一个 verbose_name,导致数据库出现问题,整了很久,摸索出重新建立数据库的方法:首先删除每个app中的