如何在JavaScript中将两个数组值添加到一个数组中

时间:2018-09-16 04:40:39

标签: javascript

var period = ['1', '2', '3', '4'];
var marks = ['20', '15', '00', '20'];

我想要的结果是JavaScript中的数组 //返回

data = [{"period": "1", "marks": 20},
{"period": "2", "marks": 15},
{"period": "3", "marks": 00},
{"period": "4", "marks": 20}];

我想将这些句点和标记合并到称为数据的数组中 预先谢谢你

2 个答案:

答案 0 :(得分:4)

Array.prototype.map()

  

map依次为数组中的每个元素调用提供的回调函数,然后从结果中构造一个新数组

您可以按照以下方式使用map()

var period = ['1', '2', '3', '4'];
var marks = ['20', '15', '00', '20'];

var data = period.map((d,i) => ({period:d, marks: marks[i]}));
console.log(data);

答案 1 :(得分:1)

您可以使用变量名称作为键来构建对象,并迭代该对象的所有条目,并以数组的索引作为结果数组的对象的索引。

这适用于任意长度的数组以及任何数量的属性。

var period = ['1', '2', '3', '4'],
    marks = ['20', '15', '00', '20'],
    result = Object
        .entries({ period, marks })
        .reduce((r, [k, a]) => a.map((v, i) => Object.assign(r[i] || {}, { [k]: v })), []);
    
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }