从两个数组创建对象

如何在不使用javascript循环的情况下从两个数组创建对象。

例:

array1 = [1,2,3,4,5]; array2 = [A,B,C,D,E]; 

我想从下面的对象

 obj = { '1': 'A', '2': 'B', '3': 'C', '4': 'D', '5': 'E', } 

提前致谢

 var obj = {} array1 = [1, 2, 3, 4, 5]; array2 = ['A', 'B', 'C', 'D', 'E']; array1.forEach(function(value, index) { obj[value] = array2[index]; }); console.log(obj); 

尝试使用$.each()迭代其中一个数组并根据您的要求构造对象,

 var array1 = [1,2,3,4,5],array2 = ['A','B','C','D','E']; var obj = {}; $.each(array2,function(i,val){ obj[array1[i]] = val; }); 

DEMO

ES6,arrays减少解决方案。

 const array1 = [1, 2, 3, 4, 5]; const array2 = ['A', 'B', 'C', 'D', 'E']; const resultMap = array1.reduce( (accumulator, value, index) => Object.assign(accumulator, { [value]: array2[index], }), {} ); console.log(resultMap); 

只是为了好玩而不使用任何迭代方法创建这样的东西。

 const array1 = [1,2,3,4,5]; const array2 = ['A','B','C','D','E']; let combineKeyValueProxy = new Proxy({}, { set: function(target, prop, value, receiver) { target[array1[prop]] = value; return true } }); const output = Object.assign(combineKeyValueProxy, array2); console.log(output) // Proxy {1: "A", 2: "B", 3: "C", 4: "D", 5: "E"}