有人可以帮助我使用lodash从现有对象生成一个新的对象数组吗?我一直在尝试_.zipObject and map
的组合,但无济于事......基本上,我有一系列对象,如:
const names = [
{
first_name: 'nedd',
given_name: 'cersei'
},
{
first_name: 'tyrion',
given_name: 'tywin'
}
]
但是,我希望它看起来像:
[
{
name: 'nedd'
},
{
name: 'cersei'
},
{
name: 'tyrion'
},
{
name: 'tywin'
},
]
我尝试了各种迭代:
const newArray = _.zipObject( names, _.fill( Array(names.length), {name: ['first_name' || 'given_name']} ) );
但没有运气......有人可以帮忙吗?
提前致谢!
答案 0 :(得分:2)
这可能有效:
_.flatMap(names, (n)=> [{name: n.first_name}, {name: n.given_name}]);
答案 1 :(得分:2)
将_.flatMap
与_.map
结合使用:
_.flatMap(names, (nameObj) => _.map(nameObj, (objVal) => { return { name: objVal }; }));