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 相关文章推荐
需要做特殊处理的DOM元素属性的访问
Nov 05 Javascript
JS获取并操作iframe中元素的方法
Mar 21 Javascript
javascript常用方法汇总
Dec 02 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
May 28 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
Aug 07 Javascript
javascript实现Email邮件显示与删除功能
Nov 21 Javascript
详解Bootstrap按钮
Jan 04 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
May 12 Javascript
详解JS模块导入导出
Dec 20 Javascript
Vue+webpack项目基础配置教程
Feb 12 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
May 23 Javascript
小程序实现tab标签页
Nov 16 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通过数组实现多条件查询实现方法(字符串分割)
2014/05/06 PHP
php中常见的sql攻击正则表达式汇总
2014/11/06 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
jQuery live( type, fn ) 委派事件实现
2009/10/11 Javascript
JQuery小知识
2010/10/15 Javascript
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
2017/11/08 jQuery
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
JavaScript常见事件处理程序实例总结
2019/01/05 Javascript
layer实现弹出层自动调节位置
2019/09/05 Javascript
js实现上下左右键盘控制div移动
2020/01/16 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
浅谈python函数之作用域(python3.5)
2017/10/27 Python
pandas筛选某列出现编码错误的解决方法
2018/11/07 Python
python3 下载网络图片代码实例
2019/08/27 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
浅析python,PyCharm,Anaconda三者之间的关系
2019/11/27 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
Python通过两个dataframe用for循环求笛卡尔积
2020/04/29 Python
mac安装python3后使用pip和pip3的区别说明
2020/09/01 Python
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
PHP笔试题
2012/02/22 面试题
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
自荐信怎么写呢?
2013/12/09 职场文书
医院检讨书范文
2014/02/01 职场文书
购房委托书范本
2014/09/18 职场文书
社区义诊通知
2015/04/24 职场文书
电影地道战观后感
2015/06/04 职场文书
Django实现drf搜索过滤和排序过滤
2021/06/21 Python