Javascript 使用lodash组合多个阵列

Javascript 使用lodash组合多个阵列,javascript,arrays,lodash,Javascript,Arrays,Lodash,我正在尝试搜索away以将数组组合在一起,并使用lodash ex返回一个对象: var names = ['Franko','Dalia','Peter','Max'] var products = ['Mobile','Tv','Camera'] var result = [{ 'name':'Franko' 'product':'Mobile' },{ 'name':'Dalia' 'product':'Tv' },{ 'name':'Pe

我正在尝试搜索away以将数组组合在一起,并使用lodash ex返回一个对象:

var names = ['Franko','Dalia','Peter','Max']
var products = ['Mobile','Tv','Camera']
var result = [{
     'name':'Franko'
     'product':'Mobile'
},{
     'name':'Dalia'
     'product':'Tv'
},{
     'name':'Peter'
     'product':'Camera'
},{
     'name':'Max'
     'product':''
}]

与Mike C建议的复制品几乎相同,但细节略有不同,请使用:

var name=['Franko','Dalia','Peter','Max'];
var产品=[“手机”、“电视”、“相机”];
var result=uu.zipWith(名称、产品、函数)(名称、产品){
返回{name:name,product:product | |''''};
});
console.log(结果)

与Mike C建议的复制品几乎相同,但细节略有不同,请使用:

var name=['Franko','Dalia','Peter','Max'];
var产品=[“手机”、“电视”、“相机”];
var result=uu.zipWith(名称、产品、函数)(名称、产品){
返回{name:name,product:product | |''''};
});
console.log(结果)

这里有一个简单的纯JS解决方案

var name=['Franko'、'Dalia'、'Peter'、'Max'],
产品=[“手机”、“电视”、“相机”],
zipped=names.map((e,i)=>({name:e,product:products[i]| |”“]);

console.log(压缩)这里是一个简单的纯JS解决方案

var name=['Franko'、'Dalia'、'Peter'、'Max'],
产品=[“手机”、“电视”、“相机”],
zipped=names.map((e,i)=>({name:e,product:products[i]| |”“]);

console.log(压缩)可能重复的可能重复的易碎品。如果
产品
名称
长,会发生什么情况?(请注意,如果您使用的是ES2015功能,请停止使用
var
)@Amit它不会超过
names
数组长度。。。。因此它是脆弱的。@Amit根据给定的数据,它是非常坚固的。OP不显示分配给未定义名称的产品。否则,在较长的数组上调用map只是一个简单的任务。根据给定的数据,您不需要任何函数或逻辑,
结果已经存在。当您提出一个算法/代码片段来解决问题时,它应该是可靠和完整的,不容易受到微小输入更改的影响。说“这只是一个简单的任务……”并不是更好的办法——如果你认为(同意吗?)答案不够,那就改进你的答案。这很脆弱。如果
产品
名称
长,会发生什么情况?(请注意,如果您使用的是ES2015功能,请停止使用
var
)@Amit它不会超过
names
数组长度。。。。因此它是脆弱的。@Amit根据给定的数据,它是非常坚固的。OP不显示分配给未定义名称的产品。否则,在较长的数组上调用map只是一个简单的任务。根据给定的数据,您不需要任何函数或逻辑,
结果已经存在。当您提出一个算法/代码片段来解决问题时,它应该是可靠和完整的,不容易受到微小输入更改的影响。说“这只是一项简单的任务……”并不是更好的办法——如果你认为(同意吗?)答案不够,就改进你的答案。