使用括号内的父id从数组javascript构建树
在你把这个问题标为重复问题之前,请听我说完 我在reactjs中有一个json响应,如下所示使用括号内的父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
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我真的很抱歉自己这么笨。。。。这么简单的想法,你帮我节省了时间。。。。非常感谢你