【问题标题】:Map 2 array into 1 array object将 2 个数组映射到 1 个数组对象
【发布时间】:2015-11-27 11:40:48
【问题描述】:

我有 2 个单独的数组,但它们的长度相同。如何将它们合并成一个数组对象,以便以后填充?

例如

[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'}]

【问题讨论】:

    标签: javascript jquery arrays


    【解决方案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>');

    【讨论】:

      【解决方案2】:

      在 ES6 中,您可以使用如下箭头函数:

      const arr1 = [1, 2, 3, 4, 5];
      const arr2 = ["a", "b", "c", "d", "e"];
      
      const output = arr1.map((el, i) => ({ index: el, value: arr2[i] }));
      
      console.log(output);

      【讨论】:

        猜你喜欢
        • 2016-11-07
        • 1970-01-01
        • 1970-01-01
        • 2021-04-18
        • 1970-01-01
        • 2020-03-19
        • 2020-07-22
        • 1970-01-01
        • 2022-11-24
        相关资源
        最近更新 更多