Использования 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