У меня есть 2 файла: index. js и list. json
Я хочу взять элемент из списка. json и добавить его во вложенный массив, используя следующую структуру: [час] [посещений в час]
час указывает на индекс часа, поэтому для примера: час 12 на самом деле индекс 12. Проблема в том, что я получаю неопределенные теги в консоли. Я опубликую его внизу, чтобы показать вам, что я имею в виду.
Вот выдержка из файла json, всего 28 строк:
[
{ "time":"01:34:19", "visits": 37 },
{ "time":"02:03:21", "visits": 42 },
{ "time":"02:22:35", "visits": 51 },
{ "time":"02:43:54", "visits": 31 },
{ "time":"03:31:43", "visits": 24 },
{ "time":"03:38:01", "visits": 27 },
{ "time":"05:29:57", "visits": 36 },
{ "time":"05:54:08", "visits": 47 },
{ "time":"06:11:17", "visits": 49 },
{ "time":"07:22:03", "visits": 51 },
{ "time":"07:27:09", "visits": 55 },
]
Вот Javascript попытка:
let json = require('./list.json');
let visitsPerHr = [];
visitsPerHr.length = 24;
//I had to do this to avoid a type error in the 2nd loop
for (let x = 0; x < 24; x++) {
visitsPerHr[x] = x;
}
let hour = -1;
let visitCount = -1;
for(let i = 0; i < json.length; i++){
//get hour & parse
hour = json[i].time[0] + json[i].time[1];
hour = parseInt(hour, 10);
//get visits and parse
visitCount = json[i].visits;
visitCount = parseInt(visitCount, 10);
//push to the hour(index) the number of visits, later i need to reorder
//the visits based on highest amount if multiple ones exist within that hour.
visitsPerHr[hour].push = visitCount;
}
Мне нужна помощь, чтобы перенести количество посещений на соответствующий час (индекс.) Так что после зацикливания каждого индекса (часы начинаются с 1 до 23, я смогу получить все посещения за этот индекс.
Пример результата, который я ищу в течение часа 7: [7] [27,29,22]
вот мой текущий результат:
2
undefined
2
undefined
2
undefined
2
undefined
5
undefined
6
undefined
6
undefined
6
undefined
6
undefined
7
undefined
7
undefined
7
undefined
7
undefined
7
undefined
8
undefined
9
undefined
10
и так далее до 23