递归遍历JS的对象的每个属性

原创 2015年11月21日 15:57:03

递归遍历JS的对象的每个属性

1)使用constructor

<span style="font-size:14px;">var model = {
        fullName: {
            firstName: 'paradise',
            lastName: 'fang'
        },
        age: 25,
        sex: 'female',
        array : [1,2,3]
    };
    buildModel(model);

    function buildModel(model) {
        for (var i in model) {
            if (model[i] != null) {
                if (model[i].constructor == Object) {
                    buildModel(model[i]);
                } else {
                    console.log(i + "\t" + model[i]);
                }
            }
        }
    }</span>

结果如下图:


这里使用了constructor,而不是typeof

constructor判断对象的类型,会比typeof更精确,constructor能获取一些复杂对象的类型,typeof做不到。

http://jingyan.baidu.com/article/a681b0de331a733b18434628.html

2)使用typeof

<span style="font-size:14px;">var model = {
        fullName: {
            firstName: 'paradise',
            lastName: 'fang'
        },
        age: 25,
        sex: 'female',
        array : [1,2,3]
    };
    buildModel(model);

    function buildModel(model) {
        for (var i in model) {
            if (model[i] != null) {
                if (typeof model[i] == "object") {
                    buildModel(model[i]);
                } else {
                    console.log(i + "\t" + model[i]);
                }
            }
        }
    }</span>


结果如下


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

js 递归遍历对象、数组、属性

在前端工作时,有时我们需要遍历一些未知类型的对象。代码如下: //js遍历对象 function TraversalObject(obj) {     for (var a in obj) {...
  • 99guo
  • 99guo
  • 2015年03月12日 17:32
  • 8745

js 中递归 与 回调函数

//----------------------------- 递归 --------------------------------------------------------- ...

js 递归遍历对象、数组、属性

在前端工作时,有时我们需要遍历一些未知类型的对象。代码如下: //js遍历对象 function TraversalObject(obj) {     for (var a in obj) {   ...

javascript当中的无限分类递归树,今天来重写一下

为了防止标题党,先上tree函数,在写分析记录//javascript 树形结构 function toTree(data) { // 删除 所有 children,以防止多次调用 ...
  • jayhkw
  • jayhkw
  • 2017年04月01日 15:35
  • 6349

JS递归遍历树结构

var arrs = []; function haha(){ var data = [ { name: '中国, ...

Javascript多叉树的递归遍历和非递归遍历

演示之前的准备工作演示项目的文件结构:index.html jsonData.js recurrenceTree.js noRecurrenceTree.js解释一下各个文件:index.htm...

java序列化时如何遍历复杂对象嵌套的所有对象

先说开发环境,我们是OSGI环境,使用的是struts2自带的OSGI插件的环境(当然了,我们对该插件做了升级,Struts2自带的插件支持felix版本比较低)。在解决项目问题时需要对系统中的一些对...

****ife 递归实现深度克隆(内含JS数据类型判断,对象遍历)****

*ife 递归实现深度克隆(内含JS数据类型判断,对象遍历)*今天在做2015ife的题时,感觉收获很多,对于js基本类型有了新的认识。把在研究过程中所得记录下来! 题目是: // 使用递归来实...

JS/jQuery 遍历对象属性

Javascript For/In 循环: 循环遍历对象的属性 [javascript] view plain copy var person={fname:"John"...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:递归遍历JS的对象的每个属性
举报原因:
原因补充:

(最多只允许输入30个字)