使用lodash将数据从数组映射到单个数组的好方法是什么?

时间:2016-03-10 21:44:14

标签: javascript lodash

使用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比我聪明,所以我必须输入更多的非代码内容才能停止抱怨。所以我会输入更多内容以便我发帖。

1 个答案:

答案 0 :(得分:3)

您可以使用flatMap()将所有“level2”数组收集到一个数组中,然后使用简单的map()

提取“someValue”属性
_.map(_.flatMap(SomeObject.level1, "level2"),"someValue")