m0n*_*r31 3 javascript arrays underscore.js lodash
假设我有一个类似于此的对象数组:
[
{
id: ...,
name: "...",
users: [1, 2, 3]
},
...
]
Run Code Online (Sandbox Code Playgroud)
有没有办法可以轻松地将每个对象的.users数组合并到一个数组中?
Pluck'n'flatten将做你想要的:
var result = _.flatten(_.pluck(data, 'users'));
Run Code Online (Sandbox Code Playgroud)
编辑
正如Richard指出的那样,在版本4.0.0中从lodash中删除了pluck,但在编写时仍然保留在当前版本的下划线中(1.8.3).
替换地图适用于lodash和下划线:
var result = _.flatten(_.map(data, 'users'));
Run Code Online (Sandbox Code Playgroud)