javascript - 从带有括号内的父 ID 的 Array javascript 构建树
问题描述
现在,在您将此问题标记为重复之前,请听我说完。
我在 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/包/数组到树
但没有任何效果,我认为这是因为我的父母 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
});
完毕。非常感谢所有帮助过的人。真的很喜欢
推荐阅读
- c++ - SYCL/DPC++ cpu 版本给出了正确的结果,但 gpu 给出了不正确的数据
- r - R 按月过滤 - 哈佛数据科学
- python - Pyspark 自动将列设置为可为空,即使架构指定它不是(仅在读取文件时)
- rest-assured - 我尝试了我的 RestAssured 测试代码,但我收到了错误:
- flutter - Flutter - 从 MaterialPageRoute 返回后如何更新 Home Route
- flutter - FileSystemException: readSync failed, path = ....app\outputs\flutter-apk\app-debug.apk' (OS Error: The operation completed successfully. , errno = 0)
- python - 在 Python 中构建蒙特卡洛盒法的 n 分布
- javascript - Node、Express、Mysql2 应用程序中的 SQL 查询绑定问题
- javascript - 单击父页面上的按钮以使用 javascript 单击 iframe 内容上的按钮
- servlets - Servlet 无法读取 WEB-INF 文件夹