Мне нужно сформировать из Массива содержащего js-объекты - новый js-объект c объектами, но в итоге получается сформировать только массив с объектами:
Получилось сформировать так:
Array [ Object, Object ]
А нужно чтобы получился объект:
Object { cols: Array[4], rows: Array[1] }
Моя реализация:
var arr = [
{Rank:1,Country:"Moscow",US$:"101994"},
{Rank:2,Country:"Luxembourg",US$:"101"},
{Rank:3,Country:"Monaco",US$:"1019"}
]
var dataCharts = [];
dataCharts.push({ cols: [{id: "year",label: "Год",type: "string"}]});
arr.forEach(function (element, index) {
dataCharts[0].cols.push( {id: element.Rank,label: element.Country,type: element.US$} );
});
dataCharts.push( { rows:[ { c: [ {v: "2015"} ] } ] } );
arr.forEach(function (element, index) {
dataCharts[1].rows[0].c.push( {v: "101994", f: "101994"} );
});
console.log(dataCharts);
1) Если изменяю строку "var dataCharts = [];" на "var dataCharts = {};",
получаю ошибку "TypeError: dataCharts.push is not a function"
2) Попытался конвертировать таким вот образом:
var obj = {};
dataCharts.forEach(function(element, index){
obj[index] = element;
});
console.log(obj);
получаю вот такой такой вариант:
Object [Object, Object]