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 相关文章推荐
简单的无缝滚动程序-仅几行代码
May 08 Javascript
Javascript 生成指定范围数值随机数
Jan 09 Javascript
固定背景实现的背景滚动特效示例分享
May 19 Javascript
JS简单实现元素复制示例附图
Nov 19 Javascript
javascript模拟枚举的简单实例
Mar 06 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
Oct 29 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
Mar 10 Javascript
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 jQuery
iscroll.js滚动加载实例详解
Jul 18 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
Jul 25 Javascript
Vue2.0+ElementUI实现表格翻页的实例
Oct 23 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
Apr 18 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的一个完整SMTP类(解决邮件服务器需要验证时的问题)
2006/10/09 PHP
PHP number_format() 函数定义和用法
2012/06/01 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
thinkphp浏览历史功能实现方法
2014/10/29 PHP
给ECShop添加最新评论
2015/01/07 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
Bootstrap学习笔记之环境配置(1)
2016/12/07 Javascript
原生js编写2048小游戏
2017/03/17 Javascript
使用原生js封装的ajax实例(兼容jsonp)
2017/10/12 Javascript
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
Python中文编码那些事
2014/06/25 Python
浅谈Python中range和xrange的区别
2017/12/20 Python
Python 仅获取响应头, 不获取实体的实例
2019/08/21 Python
python处理document文档保留原样式
2019/09/23 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
python应用Axes3D绘图(批量梯度下降算法)
2020/03/25 Python
详解h5页面在不同ios设备上的问题总结
2019/03/01 HTML / CSS
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
请解释一下webService? 如何用.net实现webService
2014/06/09 面试题
万户网络JAVA程序员岗位招聘笔试试卷
2013/01/08 面试题
品学兼优的大学生自我评价
2013/09/20 职场文书
医大实习自我鉴定
2013/12/07 职场文书
电大本科自我鉴定
2014/02/05 职场文书
《听鱼说话》教学反思
2014/02/15 职场文书
给学校建议书范文
2014/05/13 职场文书
派出所所长先进事迹
2014/05/19 职场文书
项目负责人任命书
2014/06/04 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
道德模范事迹材料
2014/12/20 职场文书
2015年党员承诺书
2015/01/21 职场文书
python本地文件服务器实例教程
2021/05/02 Python