我有这样的嵌套json对象
{
"id": 1,
"parentId": null,
"name": "Product",
"children": [
{
"id": 50,
"parentId": 1,
"name": "Bicycle",
"children": [
{
"id": 100,
"parentId": 50,
"name": "Tire"
}
]
}
]
}
奇怪的是,我已经弄清楚了如何从结果构建嵌套树,而不是如何反转它。
我曾经尝试使用lodash _.flatten and _.flattendeep
,但是在那些日子里,我无法解决这个问题。此外,物体的深度可能未知。有什么想法吗 ?
我想要的结果是这样。
[
{"id" : 1, "parentId" : null, "Product" },
{"id" : 50, "parentId" : 1 , "Bicycle"},
{"id" : 100, "parentId" : 50 , "Tire"}
]
答案 0 :(得分:0)
这不是一个非常理想的解决方案,而只是一个想法,请注意:如果数据集很大,则可能会出现一些性能问题。
resultsArray = [];
function flatten(obj) {
const { id, parentId, name, children} = obj;
if(children && children.length) {
children.map(child => flatten(child));
}
resultsArray.push({id, parentId, name});
}