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}];
我想将这些句点和标记合并到称为数据的数组中 预先谢谢你
答案 0 :(得分:4)
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; }