列表(沒有額外的陣列)使用Array of array to object - javascript和Convert an array to an array of objects作爲引導我試圖寫導致 採取這一數組的數組列表的一個函數:陣列的陣列的反對在輸出
var list = [['name', 'Sparky'], ['breed', 'lab'], ['age', 4]];
和轉換它轉換成:
{
name : 'Sparky'
breed : 'lab',
age : 4
}
然而,當我運行下面的代碼:
var list = [
['name', 'Sparky'],
['breed', 'lab'],
['age', 4]
];
function toObjects(data) {
var keys = data.shift(),
i = 0,
k = 0,
obj = null,
output = [];
for (i = 0; i < data.length; i++) {
obj = {};
for (k = 0; k < keys.length; k++) {
obj[keys[k]] = data[i][k];
}
output.push(obj);
}
return output;
}
var data = [
['name', 'Sparky'],
['breed', 'lab'],
['age', 4]
];
console.log(toObjects(data))
我得到這個:
console.log(toObjects(data)); //=>
[ { name: 'breed', Sparky: 'lab' },{ name: 'age', Sparky: 4 } ]
,但我需要的輸出沒有額外的數組[]和也被列出單獨的文件是這樣的:
{
name : 'Sparky'
breed : 'lab',
age : 4
}
任何建議?謝謝,麻煩您了!
然後定義'output'爲'{}'和'而不是OBJ [..] [..]''做輸出[...] [..]' – Rajesh
你不能'list.reduce((accu,curVal)=> {accu [curVal [0]] = curVal [1]; return accu;},{})' ? – Li357