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 相关文章推荐
Prototype使用指南之selector.js
Jan 10 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
Oct 15 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
Nov 01 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
Dec 04 Javascript
Bootstrap树形控件使用方法详解
Jan 27 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
Jun 08 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
Sep 01 Javascript
JavaScript之Map和Set_动力节点Java学院整理
Jun 29 Javascript
vue数据初始化initState的实例详解
Apr 11 Javascript
vue中英文切换实例代码
Jan 21 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
Jul 31 Javascript
angular4实现带搜索的下拉框
Mar 25 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
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
PHP 数组遍历方法大全(foreach,list,each)
2010/06/30 PHP
php对图像的各种处理函数代码小结
2013/07/08 PHP
php文件夹与文件目录操作函数介绍
2013/09/09 PHP
PHP的全局错误处理详解
2016/04/25 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
2020/08/06 PHP
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
Jquery方式获取iframe页面中的 Dom元素
2014/05/07 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
2015/01/13 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
JavaScript获取服务器端时间的方法
2016/11/29 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
vue项目中使用scss的方法步骤
2019/05/16 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
Python中apply函数的用法实例教程
2014/07/31 Python
Python中Django发送带图片和附件的邮件
2017/03/31 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
运动会跳远广播稿
2014/02/04 职场文书
幼儿园家长评语大全
2014/04/16 职场文书
工作收入证明模板
2015/06/12 职场文书
小学数学新课改心得体会
2016/01/22 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
2021/04/01 PHP
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技
python垃圾回收机制原理分析
2022/04/13 Python