嵌套数组的json嵌套数组到json的单个数组中

时间:2018-04-22 17:15:24

标签: javascript

 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

1 个答案:

答案 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' } ]
*/