Мне нужно преобразовать массив объектов в объект. Я сделал с логикой ниже. Есть ли лучший способ справиться с этим?Лучший способ преобразования массива объектов в объект?
var before = [{
"x": ["2015-10-14T01:59:59.999+05:30", "2015-10-14T03:59:59.998+05:30", "2015-10-14T05:59:59.997+05:30", "2015-10-14T07:59:59.996+05:30", "2015-10-14T09:59:59.995+05:30", "2015-10-14T11:59:59.994+05:30", "2015-10-14T13:59:59.993+05:30", "2015-10-14T15:59:59.992+05:30", "2015-10-14T17:59:59.991+05:30", "2015-10-14T19:59:59.990+05:30", "2015-10-14T21:59:59.989+05:30", "2015-10-14T23:59:59.988+05:30"]
}, {
"CleanCoal": ["0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00"]
}, {
"Middelings": ["0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00"]
}, {
"Prime": ["0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00"]
}, {
"SpiralProd": ["0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00"]
}];
var after = {};
for (var i = 0; i < before.length; i++) {
var keys = Object.keys(before[i]);
after[keys] = before[i][keys];
}
console.log(after)
document.writeln(JSON.stringify(after))
ваша версия не соответствует действительности, если '{а: 1, Ь: 4, ....}' объекта, ключ будет более одного. –
Ваш подход работает только потому, что каждый из внутренних массивов имеет только один ключ. С более чем одним он потерпит неудачу. Вам нужен второй цикл. – Yoshi