У меня есть источник JSON, заполненный данными базы данных, которые я просто хочу реорганизовать. Первыми данными должен быть «Год» (2018, 2019, 2020 ...), который будет содержать подданные.
Таким образом, я построил новый массив данных, получающий данные json (в примере «источник»)).
Но когда я наконец регистрирую новый массив (_data), я получаю массив с почти полностью пустыми данными ...
... как:
Array(2020) [ undefined, undefined, undefined...]
Вглядываясь в это, я вижу, что год 2018 и 2019 (реальные данные) заполнены правильно, а все остальные годы 0 (!) - 2017 полностью пусты.
Почему _data показывает так много неиспользуемых и беспомощных данных?
Вот код
var hierarchicalData = function() {
var _data = [];
this.setup = function(source) {
$.each(source, function(index, value) {
var year = value.YEAR;
if (typeof(_data[year]) === 'undefined') {
console.log("Create year " + year);
_data[year] = [];
}
// [... full other code generating subdata depending on year ...]
var xxx = value.XXX;
if (typeof(_data[year][xxx]) === 'undefined') {
console.log(" Creation xxx (" + year + ', ' + xxx + ")");
_data[year][xxx] = [];
// ... and few others subdata
}
});
console.log(_data);
}
}
[Правка запуска] Вызов функции
newData = new hierarchicalData();
newData.setup(fullData.Extraction());
, где
fullData.Extraction()
- исходные данные json.
[Изменить конец]
Спасибо.