我正在使用lodash(尽管不必使用解决方案),但我想转换以下结构:
{ prop1: 'root',
prop2: 'someVal',
children: [
{ prop1: 'first Child',
prop2: 'some other val',
children: [
{ prop1: 'last child'
prop2: 'another value'
children: []
}
]
}
]
}
到一个平面数组:
[ { prop1: 'root', prop2: 'someVal' },
{prop1: 'firstChild', prop2: 'some Other Val'},
{prop1: 'last child', prop2: 'another value'}
]
深度可以变化,并且最后一个孩子将始终为其
[]
属性分配children
;请注意,在特定情况下,子数组将始终只有一个项目应该是相当简单的,但是由于某些原因,我似乎无法动弹
谢谢
最佳答案
解决了此代码段(在CoffeeScript中)
flatten = (node) ->
row = node
_.each node.children or [], (el) ->
flatten el
ancestors.push row
关于javascript - JS-Lodash;嵌套对象( parent / child )到平面数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23999471/