2015-11-27 2 views
1

У меня есть 2 отдельных массива, но обе они имеют одинаковую длину. Как объединить их вместе в объект массива, чтобы его было легко заполнить позже?Карта 2 массив в 1 объект массива

, например

[1,2,3,4,5] 
['a','b','c','d','e'] 

Я ожидаю, что я могу иметь что-то вроде

[{'index':1,'value':'a'},{'index':2,'value':'b'}] 

Я попытался

$.each(a, function(i,x){ 

     $.each(b, function(i,z){ 
     c['index'] = x; 
     c['value'] = z; 
     }); 

    }); 

Но я получил только [{'index':'1','value':'a'}]

ответ

1

Вы можете использовать map() для итерации и создать новый массив

var arr1 = [1, 2, 3, 4, 5], 
 
    arr2 = ['a', 'b', 'c', 'd', 'e']; 
 

 
var res = arr1.map(function(v, i) { 
 
    return { 
 
    index: v, 
 
    value: arr2[i] 
 
    }; 
 
}) 
 

 
document.write('<pre>' + JSON.stringify(res, null, 3) + '</pre>');

Смежные вопросы