Javascript如何循环直到找不到属性(React)

Javascript如何循环直到找不到属性(React),javascript,reactjs,Javascript,Reactjs,好了,伙计们,我很难找到这个东西 { name:"asd", age: 17, workers:[ { name:"asd", age: 17, workers:[ { name:"asd", age: 17, workers:[

好了,伙计们,我很难找到这个东西

{
    name:"asd",
    age: 17,
    workers:[
        {
            name:"asd",
            age: 17,
            workers:[
                {
                    name:"asd",
                    age: 17,
                    workers:[
                        {
                            name:"asd",
                            age: 17
                        }
                    ]
                }
            ]
        },
        {
            name:"asd",
            age: 17,
            workers:[
                {
                    name:"asd",
                    age: 17
                },
                {
                    name:"asd",
                    age: 17
                },
                {
                    name:"asd",
                    age: 17
                }
            ]
        }
    ]
}
好的,我的问题是,我想循环通过这个对象。查找它是否具有workers属性,然后渲染值。我就是找不到合适的方法来解决这个问题

这是我现在拥有的

if (boss.hasOwnProperty("workers")){
    <div> {{boss.name}}
        boss.workers.map(function(w){
            if (w.hasOwnProperty("workers")){
                <div>
                {{w.name}}
                    w.workers.map(function(a){
                        <div> {{a.name}}</div>
                    }
                </div>
            }
        })
    </div>
}
if(boss.hasOwnProperty(“工人”)){
{{boss.name}
boss.workers.map(函数(w){
如果(w.hasOwnProperty(“工人”)){
{{w.name}}
w、 workers.map(函数(a){
{{a.name}}
}
}
})
}
这是可行的,但当我必须处理更深层的嵌套结构时,这是相当困难的。(在工作中,它是一个7层嵌套数组,在3和7之间变化)

我想要的是一个或两个循环,只检查属性是否在对象内,这样它就会继续执行,直到找不到为止


抱歉,我的英语不是最好的。

您可以使用递归函数来检查当前节点中是否有工作者属性,以及工作者节点中是否有更深层次的属性,并执行相同的操作。

您可以创建一个功能组件,以递归方式呈现当前节点及其工作者

函数工作程序({node}){
报税表(
{node.name}
    {node.workers&&node.workers.map((w)=>
  • )}
); } 常数数据={ 名称:"建筑署", 年龄:17岁, 工人:[ { 名称:"建筑署", 年龄:17岁, 工人:[ { 名称:"建筑署", 年龄:17岁, 工人:[ { 名称:"建筑署", 年龄:17 } ] } ] }, { 名称:"建筑署", 年龄:17岁, 工人:[ { 名称:"建筑署", 年龄:17 }, { 名称:"建筑署", 年龄:17 }, { 名称:"建筑署", 年龄:17 } ] } ] } ReactDOM.render(,document.getElementById('app');


Recursion?将它放在一个函数中,然后为每个子元素调用此函数……感谢您的回答!