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事件e参数的方法preventDefault()取消默认行为
Sep 26 Javascript
JS获取select的value和text值的简单实例
Feb 26 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
Mar 13 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
Jul 17 Javascript
jQuery UI结合Ajax创建可定制的Web界面
Jun 22 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
May 07 Javascript
Bootstrap提示框效果的实例代码
Jul 12 Javascript
vue-router路由与页面间导航实例解析
Nov 07 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
Jun 10 jQuery
JQuery复选框全选效果如何实现
May 08 jQuery
js简单粗暴的发布订阅示例代码
Jan 23 Javascript
vue项目proxyTable配置和部署服务器
Apr 14 Vue.js
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
谏山创故乡大分县日田市水坝将设立《进击的巨人》立艾伦、三笠以及阿尔敏的铜像!
2020/03/06 日漫
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
PHP持久连接mysql_pconnect()函数使用介绍
2012/02/05 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
jQuery实用基础超详细介绍
2013/04/11 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
Javascript基础之数组的使用
2016/05/13 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
浅谈jQuery双事件多重加载的问题
2016/10/05 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
php register_shutdown_function函数详解
2017/07/23 Javascript
微信小程序实现文字跑马灯
2020/05/26 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
JavaScript生成随机验证码代码实例
2019/09/28 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
js实现随机点名
2021/01/19 Javascript
python实现简单温度转换的方法
2015/03/13 Python
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
Python 40行代码实现人脸识别功能
2017/04/02 Python
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
教学实习自我评价
2014/01/28 职场文书
聚美优品广告词改编
2014/03/14 职场文书
博士生求职信
2014/07/06 职场文书
小学二年级数学教学计划
2015/01/20 职场文书
2015年教师节感恩寄语
2015/03/23 职场文书
新年晚会主持词开场白
2015/05/28 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书