使用括号内的父id从数组javascript构建树

使用括号内的父id从数组javascript构建树,javascript,arrays,json,reactjs,tree,Javascript,Arrays,Json,Reactjs,Tree,在你把这个问题标为重复问题之前,请听我说完 我在reactjs中有一个json响应,如下所示 organisationUnits: [ { name: "0.Mzondo", id: "nW4j6JDVFGn", parent: { id: "Ppx2evDIOFG" } }, { name: "1 Chipho", id: "eE4

在你把这个问题标为重复问题之前,请听我说完

我在reactjs中有一个json响应,如下所示

organisationUnits: [
  {
     name: "0.Mzondo",
     id: "nW4j6JDVFGn",
     parent: {
       id: "Ppx2evDIOFG"
     }
 },
 {
   name: "1 Chipho",
   id: "eE4p4gXpR4p",
   parent: {
     id: "JKNTgsOVMOo"
   }
 }, {}, {}, ....
  
}]
现在我已经在网上搜索了一个列表到树的解决方案,我从人们那里得到了很多代码,但它似乎不起作用。 我也试了又试


但什么都不管用,我想这是因为我的父母id被困在括号里了。所以,网上什么都不管用。如果有人能解决这个问题,我们将不胜感激。

好吧,对于那些可能在未来陷入困境的人来说,以下是我解决这个问题的方法

令人惊讶的是,我不是很聪明,所以选择了错误的职业。。。。开始

var arrayToTree = require('array-to-tree');

var array = [
  {
     name: "0.Mzondo",
     id: "nW4j6JDVFGn",
     parent: {
       id: "Ppx2evDIOFG"
     }
 },
 {
   name: "1 Chipho",
   id: "eE4p4gXpR4p",
   parent: {
     id: "JKNTgsOVMOo"
   }
 }, {}, {}, ....
  
} 

array.map((item) => {
                    //

                    if(item.parent != null){
                        //console.log(item.parent.id)
                        item.parent = item.parent.id
                    } else {
                        item.parent = undefined
                    }
                });

                var tree = arrayToTree(array, {
                    parentProperty: 'parent',
                    customID: 'id'
                });

                console.log( tree );

                this.setState({
                    orgUnits : tree
                });

完成了。
非常感谢所有帮助过你的人。就像真的一样

为什么在使用那些libsHave之前不将parent.id更改为parent呢?您考虑过自己编写一个函数吗?我想这不会花那么多功夫。@evgenifotia我真的很抱歉自己这么笨。。。。这么简单的想法,你帮我节省了时间。。。。非常感谢你