首页 > 解决方案 > 在不知道其深度的情况下遍历对象

问题描述

我试图遍历一个对象,但不知道它的深度。我的任务是遍历所有对象并获取“内容”。如果 'has_content' 为 false,则内容没有任何内容,但其子项/子项可能有内容。我应该去找最后一个孩子。我正在考虑通过递归来解决它。我对js很陌生。帮助表示赞赏。

下面对象的结果应该是 ["hello", "world", "last one", "level 1"]。

'use strict'
let obj1 = {
    "has_content": false,
    "content": null,
    "nodes": [
        {
            "has_content": false,
            "content": null,
            "nodes": [
                {
                    "has_content": true,
                    "content": "Hello",
                    "nodes": [
                        {
                            "has_content": true,
                            "content": "world",
                            "nodes": [
                                {
                                    "has_content": true,
                                    "content": "last one"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ], 
    "has_content": false,
    "content": null,
    "nodes": [
        {
            "has_content": true,
            "content": "level 1"
        }
    ]
}

标签: javascriptarrays

解决方案


推荐阅读