将2个数组映射为1个数组对象

Map 2 array into 1 array object

本文关键字:数组 1个 对象 映射 2个      更新时间:2023-09-26

我有两个单独的数组,但它们的长度相同。如何将它们合并到一个数组对象中,以便以后很容易填充?

例如

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

您可以使用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>');

使用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);