javascript - Javascript向特定索引添加 array

  显示原文与译文双语对照的内容
0 0

当我的应用程序启动时,有以下全局变量:

events = [];

然后,如果我使用下面的简化代码Fragment来获取 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] = [];

 

我想将 array的索引指定为我的周条目。 所以,如果我查找一个特定的星期,我可以获取从 array 获取的所有条目的array 索引。

我的问题是,当我想获取更多的星期时,例如:


events[1] = [];//Index 1 would represent the next week

这个 array 只扩展大小,所有的都追加到最后,所以我有一个大的array,而不是一个。 为什么这样我怎么才能实现这个行为?

编辑:让我扩展我的问题。

我需要在事件变量中包含几个json对象数组。 那么。


events[0] = [/*contains array of json objects */];
events[1] = [/*contains array of json objects */];
events[2] = [/*contains array of json objects */];

每个 array 索引代表 1周。 因此索引 0是当前周,索引 1是周 1,索引 2是星期 2等等。 我甚至想做以下事情,但我不知道这是否可能:


events[-1] = [/*contains array of json objects */];

索引 -1在过去的日期为 1周。 谁能让我知道这是否可能?

时间: 原作者:

0 0

你正在查找 Array.unshift:

 
events.unshift([]);

 

文档文档

原作者:
...