var object = [{id:1, users:[{name:'john', name:'smith', name:'frank'}, {id:2, users:[{name:'lary'}, {name:'steve'}, {name:'joe'}]}]}]
输出
allUsers = [{name:'john'}, {name:'smith'}, {name:'frank'}, {name:’lary'}]
需要在javascript中回答。 并且还使用lodash
答案 0 :(得分:0)
我没有使用过lodash,但是从文档中我发现了一个" 展平" - 方法,看看这里: https://lodash.com/docs/4.17.5#flatten
将数组展平为深度。
我希望能帮助你。
编辑:好的,这是代码示例(你的花括号很少,所以我在这个例子中修复它们。我希望这就是你要找的东西。 但基本上使用map,从单个对象获取users数组,然后在之后展平结果。
var object = [
{
id:1,
users: [{name:'john'}, {name:'smith'}, {name:'frank'}]
},
{
id:2,
users: [{name:'lary'}, {name:'steve'}, {name:'joe'}]
}
];
const flattenUsers = lodash.flatten(object.map(id => id.users));
console.log(flattenUsers);
/*
Output:
[ { name: 'john' },
{ name: 'smith' },
{ name: 'frank' },
{ name: 'lary' },
{ name: 'steve' },
{ name: 'joe' } ]
*/