使用lodash将数据(如下面的数据)映射到level2对象的单个数组中的快速方法是什么?
SomeObject = {
name: 'someObject',
level1: [
{
id: '1',
level2: [
{ someValue: 'example1'},
{ someValue: 'example2'},
{ someValue: 'example3'},
{ someValue: 'example4'}
]
},
{
id: '2',
level2: [
{ someValue: 'example5' },
{ someValue: 'example6' },
{ someValue: 'example7' },
{ someValue: 'example8' }
]
},
{
id: 'n',
level2: [
{ someValue: 'examplen' },
]
}
]
}
输出:
[
'example1',
'example2',
'example3',
'example4',
'example5',
'example6',
'example7',
'example8',
'examplen',
]
忽略: Stackflow比我聪明,所以我必须输入更多的非代码内容才能停止抱怨。所以我会输入更多内容以便我发帖。
答案 0 :(得分:3)
您可以使用flatMap()
将所有“level2”数组收集到一个数组中,然后使用简单的map()
_.map(_.flatMap(SomeObject.level1, "level2"),"someValue")