我正在使用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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句