JS实现遍历不规则多维数组的方法


Posted in Javascript onMarch 21, 2018

本文实例讲述了JS实现遍历不规则多维数组的方法。分享给大家供大家参考,具体如下:

直接进入正文:

我们有时候处理数据,可能会遇到一些不规则(无法预料的数据结构),那么拿到这种数据我们如何进行遍历操作呢?举个例子:

var data= {
    a: { one: 1, two: 2, three: {four:'2',five:'4'} },
    b: { six: 4, seven: 5, eight: 6 },
    c: { nine: 7, ten: 8}
}

比如上边的数据(实际情况是这个数据会有各种不可预料的变化),如果想遍历这种数据,用单纯的for in就无法遍历了。

其实这种数据遍历也简单,使用递归的方法,就可以完美的解决这个问题

代码如下:

function traverse(obj) {
    for (var a in obj) {
      if (typeof(obj[a]) == "object") {
        traverse(obj[a]); //递归遍历
      } else {
        console.log(a + "=" + obj[a]); //如果是值就显示
      }
    }
}
traverse(data)

最后我们只要调用这个方法,把obj传入,就成功的遍历了整个data

本例运行结果如下:

JS实现遍历不规则多维数组的方法

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

Javascript 相关文章推荐
javascript数组组合成字符串的脚本
Jan 06 Javascript
JS array 数组详解
Mar 22 Javascript
firefox和IE系列的相关区别整理 以备后用
Dec 28 Javascript
JS中的prototype与面向对象的实例讲解
May 22 Javascript
js函数排序的实例代码
Jul 01 Javascript
js实现登录验证码
Dec 22 Javascript
Vue ElementUI之Form表单验证遇到的问题
Aug 21 Javascript
webpack打包node.js后端项目的方法
Mar 10 Javascript
js canvas实现红包照片效果
Aug 21 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
Aug 26 Javascript
解决layui调用自定义方法提示未定义的问题
Sep 14 Javascript
js+canvas实现简单扫雷小游戏
Jan 22 Javascript
vue项目关闭eslint校验
Mar 21 #Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
Mar 21 #Javascript
使用Vue.js和Flask来构建一个单页的App的示例
Mar 21 #Javascript
JS代码实现电脑配置检测功能
Mar 21 #Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
Mar 21 #Javascript
javascript与PHP动态往类中添加方法对比
Mar 21 #Javascript
详解PHP后期静态绑定分析与应用
Mar 21 #Javascript
You might like
PHP PDO函数库详解
2010/04/27 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
BootStrap的两种模态框方式
2017/05/10 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
js实现录音上传功能
2019/11/22 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
2013/11/27 Python
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
Python判断文件和字符串编码类型的实例
2017/12/21 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
使用K.function()调试keras操作
2020/06/17 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
python实现人工蜂群算法
2020/09/18 Python
Python图像读写方法对比
2020/11/16 Python
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
电气工程及其自动化学生实习自我鉴定
2013/09/19 职场文书
工业设计专业推荐信
2013/10/29 职场文书
战友聚会邀请函
2014/01/18 职场文书
英文商务邀请信
2014/01/22 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
房屋租赁委托书范本
2014/10/04 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
2016特色励志班级口号
2015/12/24 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL