当我的应用程序启动时,我有以下全局变量:
events = [];
然后,如果我使用以下简化的代码片段获取带有ajax的内容:
events[0] = [];
setTimeout(function fetchEventsThisWeek(){
$.ajax({
url: '/event/getEventsBetweenDates',
type: 'POST',
data : { from_date : currentweek.from_date.toString("yyyy-MM-d") , to_date : currentweek.to_date.toString("yyyy-MM-d"), limit : limit, offset : offset },
success: function(data) {
jQuery.each(data, function(index){
events[0].push(data[index]['attributes']);
});
offset = offset + limit;
entry_count = entry_count + data.length;
if(data.length < limit) { // We reached the end of the table so we don't need to call the function again
renderEvents(current, offset - limit, entry_count);
//Make sure the current next week button gets enabled because we are done with the results
} else {
renderEvents(current, offset - limit, offset);
setTimeout(fetchEventsThisWeek, 150); // There are more results, continue
}
}
})
}, 150);
这个递归函数只是获取两个日期之间的所有事件,并一直调用自己,直到数据库中没有记录为止。 我的问题是:
使用变量:
events[0] = [];
我想将数组的索引指定为我的周项。因此,如果我查找特定的一周,我可以通过数组索引获取已经从我的数组中获取的所有条目。
我的问题是,当我想要获取更多周时,例如:
events[1] = [];// Index 1 would represent the next week
数组只是扩展了大小并且所有都被追加到末尾,所以我有一个大数组而不是多维数组。为什么是这样?我怎样才能实现这种行为?
编辑: 让我扩展我的问题。
我需要在events变量中使用几个json对象数组。 所以..
events[0] = [ /*contains array of json objects */];
events[1] = [ /*contains array of json objects */];
events[2] = [ /*contains array of json objects */];
每个数组索引代表1周。因此,索引0是当前周,索引1是第1周,索引2是第2周,依此类推。我甚至想做以下事情,但我不知道这是否可能:
events[-1] = [ /*contains array of json objects */];
指数-1过去为1周。如果可能,有人可以告诉我吗?