我有一个内部有多个数组的Javascript数组,如下所示:
var data = [
['value1','value2','value3'],
['value1','value2','value3'],
['value1','value2','value3'],
['value1','value2','value3']
];
我还有另一个数组,其中包含这些值的键:
var key = ['width', 'height', 'depth'];
循环遍历data
数组并将值映射到各自的键,返回对象的最佳方法是什么?
示例:
function(data, key) {
/*
var newObject = {
{width: 'value1', height: 'value2', 'depth': 'value3'},
{width: 'value1', height: 'value2', 'depth': 'value3'},
{width: 'value1', height: 'value2', 'depth': 'value3'},
{width: 'value1', height: 'value2', 'depth': 'value3'}
}
return newObject;
*/
}
**编辑:
我最初错误地提出问题是试图在对象中映射数组,它应该是 arrays 中的数组。现在问题应该正确反映我的问题。
答案 0 :(得分:1)
var data = [
['value1','value2','value3'],
['value1','value2','value3'],
['value1','value2','value3'],
['value1','value2','value3']
];
var keys = ['width', 'height', 'depth'];
var obj = [];
for(var i = 0; i < data.length; i++) {
for(var j = 0; j < keys.length; j++) {
if(obj[i] == undefined) {
obj[i] = []
obj[i][keys[j]] = data[i][j];
} else {
obj[i][keys[j]] = data[i][j];
}
}
}
console.log(obj);