Combine two arrays in JavaScript

后端 未结 5 1948
無奈伤痛
無奈伤痛 2020-12-16 23:53

Can I merge two arrays in JavaScript like this?

these arrays:

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

into

<         


        
相关标签:
5条回答
  • 2020-12-17 00:10
    var arr3 = {};
    for (var i = 0; i < arr1.length; i++) {
        arr3[arr1[i]] = arr2[i];
    }
    

    Please note that arr3 is not array, it is object.

    0 讨论(0)
  • 2020-12-17 00:10

    Even easier:

    $.merge(arr1, arr2);
    
    0 讨论(0)
  • 2020-12-17 00:14

    Just because you said in jQuery, here's a jQuery$.each version.

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

    output ->

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

    here's a working jsFiddle

    0 讨论(0)
  • 2020-12-17 00:24

    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];
    }
    
    0 讨论(0)
  • 2020-12-17 00:37

    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
    }
    
    0 讨论(0)
提交回复
热议问题