在Javascript中,如何将两个数组作为键值对存储在一个对象中?

在Javascript中,如何将两个数组作为键值对存储在一个对象中?,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我试图将两个数组作为键值对存储到一个对象中。既然推送不适用于对象,我如何实现这一点 JAvascript var data = {}; var array1 = ['name', 'lastname']; var array2 = ['john','doe']; 期望输出: console.log(data); data: { name: john, lastname: doe } 您可以使用: var array1=['name','lastname']; var a

我试图将两个数组作为键值对存储到一个对象中。既然推送不适用于对象,我如何实现这一点

JAvascript

var data = {};
var array1 = ['name', 'lastname'];
var array2 = ['john','doe'];
期望输出:

console.log(data);
data: {
     name: john,
     lastname: doe
}
您可以使用:

var array1=['name','lastname'];
var array2=['john','doe'];
var数据=array1.reduce((acc,value,i)=>(acc[value]=array2[i],acc),{});

控制台日志(数据)
您可以对想要的对象使用
thisArg
,并分配相同索引的键和值

var data={},
数组1=['name','lastname'],
array2=['john','doe'];
数组1.forEach(函数(k,i){
这个[k]=array2[i];
},数据);

控制台日志(数据)
您可以为此使用
reduce
方法,该方法接受
回调
方法作为参数

var array1=['name','lastname'];
var array2=['john','doe'];
var数据=阵列1.减少(功能(对象、元素、索引){
obj[elem]=array2[index];
返回obj;
},{});
控制台日志(数据)
array1.reduce((obj,key,index)=>{obj[key]=array2[index];return obj;},{})