Javascript 将对象转换为对象数组

Javascript 将对象转换为对象数组,javascript,lodash,Javascript,Lodash,我试图将这两个对象数组组合成一个对象数组,并将每个属性与它们自己的值组合在一起 var a ={'a':[1,2,3,4],'b':[2,3,4,5]} to [{'a':1,'b':2},{'a':2,'b':3},{'a':3,'b':4},{'a':4,'b':5}] 如何使用lodashlibrary实现这一点?您需要迭代其中一个键的值,然后对每个值迭代所有键。这可以很容易地在纯JavaScript中完成 e、 g.[1,2,3,4]对于键a,然后在它们的键上循环:['a','b']

我试图将这两个对象数组组合成一个对象数组,并将每个属性与它们自己的值组合在一起

var a ={'a':[1,2,3,4],'b':[2,3,4,5]}

to [{'a':1,'b':2},{'a':2,'b':3},{'a':3,'b':4},{'a':4,'b':5}]

如何使用
lodash
library实现这一点?

您需要迭代其中一个键的值,然后对每个值迭代所有键。这可以很容易地在纯JavaScript中完成

e、 g.
[1,2,3,4]
对于键
a
,然后在它们的键上循环:
['a','b']

注意:您将看到参数
'
(下划线)用作下面映射的第一个参数。这表示键
'a'
的值列表中的当前值。这是没有意义的,但是我们需要有它来访问下一个参数(当前值的索引)

//code-Golf-zipObjects(100字节)
var z=a=>(x=>a[x[0]].map((u,i)=>x.reduce((o,k)=>Object.assign(o,{[k]:a[k][i]}),{}))(Object.keys(a))
函数ZipoObject(arr){
返回(键=>{
返回arr[keys[0].map((\ux,valueIndex)=>{
返回键。减少((对象,键)=>{
返回Object.assign(obj,{[key]:arr[key][valueIndex]});
}, {});
});
})(对象键(arr));
}
log(zipObjects({'a':[1,2,3,4],'b':[2,3,4,5]})

作为控制台包装器{top:0;max height:100%!important;}
到目前为止您尝试了什么?如果不先尝试自己解决问题,请不要寻求解决方案。如果您尝试过某些方法,请在您的问题中分享您尝试过的方法。我检查了所有默认的lodash方法(如果有的话),但找不到..检查过,但那里的值不是数组,因此需要帮助如何通过lodashLodash这是一个很好的小工具箱,但您不必使用它。这完全可以通过几行Javascript实现。