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 相关文章推荐
新浪的图片新闻效果
Jan 13 Javascript
Jquery实现简单的动画效果代码
Mar 18 Javascript
JS 实现获取打开一个界面中输入的值
Mar 19 Javascript
jquery.ui.draggable中文文档(原文翻译)
Nov 15 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
Sep 09 Javascript
ES6中的数组扩展方法
Aug 26 Javascript
JS判断浏览器是否安装flash插件的简单方法
Sep 13 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Dec 14 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
Nov 03 Javascript
vue中动态绑定表单元素的属性方法
Feb 23 Javascript
vue图片加载失败时用默认图片替换的方法
Aug 29 Javascript
Vue表单提交点击事件只允许点击一次的实例
Oct 23 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实现aes加密类分享
2014/02/16 PHP
php像数组一样存取和修改字符串字符
2014/03/21 PHP
php常用数学函数汇总
2014/11/21 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
php排序算法实例分析
2016/10/17 PHP
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
JavaScript实现将UPC转换成ISBN的方法
2015/05/26 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
sea.js常用的api简易文档
2016/11/15 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
socket.io学习教程之基本应用(二)
2017/04/29 Javascript
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
Vue之mixin全局的用法详解
2018/08/22 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
使用vue实现各类弹出框组件
2019/07/03 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
Python三元运算实现方法
2015/01/12 Python
python学习入门细节知识点
2018/03/29 Python
Php多进程实现代码
2018/05/07 Python
django做form表单的数据验证过程详解
2019/07/26 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
python变量的作用域是什么
2020/05/26 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
Bobbi Brown芭比波朗美国官网:化妆师专业彩妆保养品品牌
2016/08/18 全球购物
佳能德国网上商店:Canon德国
2017/03/18 全球购物
东方通信股份有限公司VC面试题
2014/08/27 面试题
大学生四个方面的自我评价
2013/09/19 职场文书
建筑班组长岗位职责
2014/01/02 职场文书
《油菜花开了》教学反思
2014/02/22 职场文书
求职意向书
2014/07/29 职场文书
网络营销计划
2015/01/17 职场文书
2015年小学实验室工作总结
2015/07/28 职场文书
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技