Не могу использовать цикл для заполнения массива в fullcalendar - PullRequest
0 голосов

Мне нужно заполнить календарь fullcalendar с помощью javascript, у меня есть этот код, где данные - это то, что я получаю из базы данных, но при этом выдается ошибка:

 var i;
 var events=[];
 var color_hour=[];
 for(i=0;i<data.length;i++){
   if(data[i]['hour_status_id']=="1" || data[i]['hour_status_id']=="2" || data[i]['hour_status_id']=="3"){ color_hour[i]="red"; } else if(data[i]['hour_status_id']=="0"){ color_hour[i]="blue"; }
 }
 events=[
   for(i=0;i<data.length;i++){
    { 
     id : data[i]['medical_agenda_id'], 
     start : data[i]['date']+'T'+data[i]['time_start'], 
     end : data[i]['date']+'T'+data[i]['time_end'], 
     color: color_hour[i],
    },
   }
 ]

Кажется, ошибка в цикле for внутри массива. Любые подсказки, хой, чтобы это исправить?

1 Ответ

0 голосов
/ 14 мая 2018

Вы не можете использовать for внутри объявления массива. Вы можете использовать Array.push(), чтобы добавить элемент внутри него.

var i;
var events=[];
var color_hour=[];
for(i=0;i<data.length;i++) {
    if(data[i]['hour_status_id']=="1" || data[i]['hour_status_id']=="2" || data[i]['hour_status_id']=="3"){ 
        color_hour[i]="red"; 
    } 
    else if(data[i]['hour_status_id']=="0"){ 
        color_hour[i]="blue"; 
    }
    events.push({ 
        id : data[i]['medical_agenda_id'], 
        start : data[i]['date']+'T'+data[i]['time_start'], 
        end : data[i]['date']+'T'+data[i]['time_end'], 
        color: color_hour[i],
    });
}

Обратите внимание, что два for, кажется, не требуются и могут быть выполнены только в одном цикле.

...