2017-02-19 20 views
2

我有两个数组看起来像这样的:如何将两个相同长度的数组转换为javascript中的一个对象数组?

array1 = [1, 2, 3, 4, 5]; 
array2 = [a, b, c, d, e]; 

使用JavaScript,我想两个相同长度的数组转换为对象的数组,它应该是这样的:

newArrayofObjects = [ {key1: 1, key2: a}, {key1: 2, key2: b}, {key1: 3, key2: c}, {key1: 4, key2: d}, {key1: 5, key2: e}] 
+8

这看起来很简单 - 您是否真的尝试过自己解决这个问题?我敢肯定,有人会给你一个答案,但你会做得更好,花一些时间试图自己想出一个解决方案。 – billynoah

+1

提示:获取长度,迭代使用'for'循环 – billynoah

+0

我已经从您的问题中删除了“json”标记,因为这里没有涉及到JSON。 – nnnnnn

回答

4

Array.map派上用场了很多。

var newArray = array1.map(function(e,i){return{key1:e,key2:array2[i]}}); 
2
var array1 = [1, 2, 3, 4, 5], array2 = ['a', 'b', 'c', 'd', 'e'], newArrayofObjects = []; 
for(var key = 0; key < array1.length; key++) { 
    newArrayofObjects.push({key1 : array1[key], key2 : array2[key]}); 
} 
相关问题