Combine two arrays in JavaScript

Is it possible to combine two arrays in JavaScript like this?

these arrays:

arr1 = ['one','two','three']; arr2 = [1,2,3]; 

in

 arr3 = ['one': 1, 'two': 2, 'three' : 3] 
+7
source share
5 answers
 var arr3 = {}; for (var i = 0; i < arr1.length; i++) { arr3[arr1[i]] = arr2[i]; } 

Note that arr3 not an array, it is an object .

+12
source

You can use Array.prototype.reduce ...

 var arr3 = arr1.reduce(function(obj, val, i) { obj[val] = arr2[i]; return obj; }, {}); 

DEMO: http://jsfiddle.net/GMxcM/

 { "one": 1, "two": 2, "three": 3 } 
+8
source

Just because you said in jQuery , here is the jQuery $.each .

 arr1 = ['one','two','three']; arr2 = [1,2,3]; arr3 = {}; $.each(arr1, function(i, value){ arr3[value] = arr2[i]; }); console.log(JSON.stringify(arr3)); 

conclusion

 {"one":1,"two":2,"three":3} 

here is working jsFiddle

+2
source

The loop!

 var arr1 = ['one','two','three']; var arr2 = [1,2,3]; var result = {}; for(var i = 0; i < arr1.length; i++) { result[arr1[i]] = arr2[i]; } 
+1
source

Even simpler:

 $.merge(arr1, arr2); 
-one
source

All Articles