在JavaScript中组合两个数组

在JavaScript中组合两个数组,javascript,jquery,Javascript,Jquery,我可以像这样在JavaScript中合并两个数组吗 这些阵列: arr1 = ['one','two','three']; arr2 = [1,2,3]; 进入 var arr3={}; 对于(变量i=0;i

我可以像这样在JavaScript中合并两个数组吗

这些阵列:

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

var arr3={};
对于(变量i=0;i
请注意,
arr3
不是数组,而是。

循环

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];
}
var arr1=['1','2','3'];
var arr2=[1,2,3];
var result={};
对于(变量i=0;i
就因为您在jQuery
中说了
,这里有一个jQuery
$。每个版本都是

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

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

您可以使用
Array.prototype.reduce

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

更简单的是:

$.merge(arr1, arr2);

这实际上不是一个数组合并,而是一个组合。您可以在一个简单的for循环中手动执行。jQuery不是一种语言。另外,JavaScript没有关联数组,只有对象。如果你可以基于共享相同数组索引的两个对应条目引用它们,那又有什么意义呢?@davidethell:这不是一回事。这不是他想要的!
var arr3 = arr1.reduce(function(obj, val, i) {
    obj[val] = arr2[i];
    return obj;
}, {});
{
    "one": 1,
    "two": 2,
    "three": 3
}
$.merge(arr1, arr2);