我有一个数组(列)和一个数组数组(单元格数据行)。 我需要将它们合并并转换为对象的数组或对象,其中每个对象都包含键值对。
所以从这样的事情
var columns = ['col 1', 'col 2', 'etc']
和
var rows = [arr1[], arr2[], arr3[]]
// where arr1.length === columns.length
我的结果需要像
var result = [
{
'col 1':arr1[0].value,
'col 2':arr1[1].value,
...etc
},
{
'col 1':arr2[0].value,
'col 2':arr2[1].value,
...etc
}
];
我希望这是有道理的。 谢谢你的帮助!
答案 0 :(得分:0)
“oneliner”,只是为了好玩:
var columns = ['col 1', 'col 2', 'col 3'];
var rows = [
[1,2,3],
[4,5,6],
[7,8,9],
[10,11,12]
];
var result = rows.map(function(row) {
return this.reduce(function(result, column, columnIndex) {
result[column] = row[columnIndex];
return result;
}, {});
}, columns);
console.log(result);
JSFiddle:http://jsfiddle.net/KkWX4/2/