从数组javascript构建树,父id在方括号内



在将这个问题标记为重复之前,请听我说完。

我在reactjs中有一个类似的json响应

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

}]

现在我在网上搜索了一个列表到树的解决方案,我有很多来自人们的代码,但它似乎不起作用。我也试过https://github.com/yi-ge/js-tree-list和https://www.npmjs.com/package/list-to-tree而且https://www.npmjs.com/package/array-to-tree

但是什么都不起作用,我想是因为我的父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
});

完成。非常感谢所有提供帮助的人。像真正的

最新更新