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 相关文章推荐
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
Aug 19 Javascript
jquery调用wcf并展示出数据的方法
Jul 07 Javascript
javascript中常用编程知识
Apr 08 Javascript
基于jquery的9行js轻松实现tab控件示例
Oct 12 Javascript
JavaScript数据结构链表知识详解
Nov 21 Javascript
JavaScript实现汉字转换为拼音的库文件示例
Dec 22 Javascript
解决VUEX兼容IE上的报错问题
Mar 01 Javascript
layui table设置前台过滤转义等方法
Aug 17 Javascript
Angularjs实现数组随机排序的方法
Oct 02 Javascript
vue中过滤器filter的讲解
Jan 21 Javascript
javascript异步编程的六种方式总结
May 17 Javascript
nuxt+axios实现打包后动态修改请求地址的方法
Apr 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
探讨:如何通过stats命令分析Memcached的内部状态
2013/06/14 PHP
在PHP中使用redis
2013/11/04 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
smarty缓存用法分析
2014/12/16 PHP
php文档工具PHP Documentor安装与使用方法
2016/01/25 PHP
DOM相关内容速查手册
2007/02/07 Javascript
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
最丑的时钟效果!js canvas时钟制作方法
2016/08/15 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
2017/08/30 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
js实现固定区域内的不重叠随机圆
2019/10/24 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
Python对象体系深入分析
2014/10/28 Python
python正则表达式match和search用法实例
2015/03/26 Python
python检测某个变量是否有定义的方法
2015/05/20 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
C语言开发工程师测试题
2016/12/20 面试题
最新的大学生找工作自我评价
2013/09/29 职场文书
公司庆典邀请函范文
2014/01/13 职场文书
预备党员承诺书
2014/03/25 职场文书
餐饮投资计划书
2014/04/25 职场文书
挂职学习心得体会
2014/09/09 职场文书
小学教师岗位职责
2015/04/02 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python