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 相关文章推荐
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
Mar 26 Javascript
使用jquery动态加载javascript以减少服务器压力
Oct 29 Javascript
基于jquery库的tab新形式使用
Nov 16 Javascript
js焦点文字滚动效果代码分享
Aug 25 Javascript
利用jQuery和CSS将背景图片拉伸
Oct 16 Javascript
Angular.js 实现数字转换汉字实例代码
Jul 14 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
Sep 28 Javascript
bootstrap模态框远程示例代码分享
May 22 Javascript
通俗易懂地解释JS中的闭包
Oct 23 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
Mar 07 Javascript
浅谈express.js框架中间件(middleware)
Apr 07 Javascript
详解微信小程序自定义组件的实现及数据交互
Jul 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
Body是什么,该怎么喝出咖啡里的口感
2021/03/03 咖啡文化
用PHP生成静态HTML速度快类库
2007/03/18 PHP
php使用curl出现Expect:100-continue解决方法
2015/03/03 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
读jQuery之五(取DOM元素)
2011/06/20 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
使用js操作cookie的一点小收获分享
2013/09/03 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
javascript操作数组详解
2014/12/17 Javascript
JS实现可编辑的后台管理菜单功能【附demo源码下载】
2016/09/13 Javascript
js 打开新页面在屏幕中间的实现方法
2016/11/02 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
echarts多条折线图动态分层的实现方法
2019/05/24 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
[02:33]DOTA2英雄基础教程 司夜刺客
2013/12/04 DOTA
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
python dict乱码如何解决
2020/06/07 Python
美国第一香水网站:Perfume.com
2017/01/23 全球购物
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
马来西亚在线健康商店:Medipal Malaysia
2020/04/13 全球购物
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
社区敬老月活动实施方案
2014/02/17 职场文书
事业单位鉴定材料
2014/05/25 职场文书
给老师的感谢信
2015/01/20 职场文书
教师求职信怎么写
2015/03/20 职场文书
礼仪培训心得体会
2016/01/22 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL