javascript - 在不知道其深度的情况下遍历对象
问题描述
我试图遍历一个对象,但不知道它的深度。我的任务是遍历所有对象并获取“内容”。如果 '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"
}
]
}
解决方案
推荐阅读
- pandas - 在 Pandas 中读取 csv 时如何使用适当的编码?
- java - 我的蛇游戏运行非常缓慢。有什么办法可以优化吗?
- python - tkinter 的多个帧 - 如何使它们在全屏模式下运行
- oauth - 了解 oAuth 隐式流
- python - DateRangeSlider Bokeh 小部件错误,无法将字符串转换为时间戳日期
- sql - SQL Server 存储过程因错误而无法保存
- swift - 图像未快速显示在单元格上
- git - 使用 username.bitbucket.io 的“找不到文件”?
- amazon-web-services - 在私有 VPC 中使用 EC2 实例配置内部网络负载均衡器
- javascript - 如何在 apache 服务器上部署没有 index.html 的 react 应用程序以进行生产