Моя цель состоит в том, чтобы перемещаться назад по массиву данных, проверяя, что пока дата / месяц, например, «02», остается неизменной, я буду использовать только первый случай (например, data.Cases: 1234), который я получу для в этом месяце.
Здесь я заявляю (i) , чтобы сохранить максимальную длину массива. дел и дата для переноса максимального числа дел и значения месяца в позиции i .
let data = 'https://api.covid19api.com/total/country/south-africa/status/confirmed?from=2020-03-01T00:00:00Z&to=2020-04-01T00:00:00Z';
let i = (data.length -1);
let cases = data[i].Cases; // Total sum
let date = (data[i].Date).slice(6,7);
let getCase = [];
let getDate = [];
let theMonths = [];
do {
// Check if the date matches first date.
// Push that date to getDate array.
// Push that case to getCase array.
// Continue loop
if (date === (data[i].Date).slice(6,7)) {
i--;
}
Тогда этот оператор должен срабатывать, когда значение месяца изменяется и изменяет переменную даты, которую l oop использовал изначально, на новую, которая вызвала этот оператор. Поэтому я могу добавить в свой массив sh новые значения и повторить все l oop со следующим значением даты.
// If the date has changed
if (date !== (data[i].Date).slice(6,7)) {
// Change to current Date
//ERROR HERE (Does not update date with new date)
if (data[i].Date){
date = (data[i].Date).slice(6,7);
getDate.push(date);
getCase.push(data[i].Cases);
}
}
if (date === '1') {
break;
}
}
while (
cases >= data[i].Cases
);