JavaScript 深度遍历对象的两种方式,递归与非递归

Posted  Island

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 深度遍历对象的两种方式,递归与非递归相关的知识,希望对你有一定的参考价值。

递归遍历:

  • 基本问题: 当前属性值不为对象时,打印键和值
  • 递归过程:当前属性值为对象时,打印键,继续递归
var o = {
            a: {
                b: {
                    c: {
                        d: {
                            e: {
                                f: 1,
                                g:{
                                    h:2
                                }
                            }
                        }
                    }
                }
            }
        };
        function printObjRec(obj) {
            for (var prop in obj) {
                if (typeof (obj[prop]) === "object") {
                    console.log(prop);
                    getProp(obj[prop]);
                    return;
                }
                console.log(prop);
                console.log(obj[prop]);
            }
        };
        // printObjRec(o);

 

 

以上是关于JavaScript 深度遍历对象的两种方式,递归与非递归的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript通过reduce+递归实现树的深度遍历

JavaScript 算法应用: 遍历DOM树的两种方式

JavaScript——深度遍历(纯函数)递归求对象嵌最多的层数

JavaScript创建对象的两种方法和遍历对象的属性

二叉树的遍历

二叉树的遍历