【发布时间】:2015-11-01 00:54:11
【问题描述】:
我有一个这样的列表,其中包含 1000 多个条目。
[
{
"start": "Sun May 24 2015 01:00:00 GMT+0530 (IST)",
"end": "Sun May 24 2015 01:30:00 GMT+0530 (IST)",
"title": "Event 1"
},
{
"start": "Sun May 24 2015 04:00:00 GMT+0530 (IST)",
"end": "Sun May 24 2015 06:00:00 GMT+0530 (IST)",
"title": "Event 2"
}
]
我正在写一个像这样的函数:-
function finalIndex(ind)
{
var final_ind = ind+1;
var chkdate = new Date(list[ind].start);
var day = chkdate.getDate();
//alert(day);
var chkdate1 = new Date(list[final_ind].start);
var day1 = chkdate.getDate();
//alert(day1);
final_ind = final_ind+1;
while(day == day1)
{
chkdate1 = new Date(list[final_ind].start);
day1 = chkdate.getDate();
final_ind = final_ind+1;
}
final_ind = final_ind-1;
return final_ind;
}
在这个函数中 ind 是给定日期的起始索引,在这个函数的帮助下,我想找出与给定日期关联的最终对象的索引。
外部的注释警报运行正常,并显示 24,24 作为输出。
但是我得到 Uncaught TypeError: Cannot read property 'start' of undefined 虽然它能够读取 list[final_ind].start 在循环之前。
【问题讨论】:
-
final_ind = final_ind+1;将导致 while 循环内的final_ind与 while 循环外的final_ind不同。这可能会导致数组查找返回 undefined。 -
没有得到你...???我在 chkdate1 = new Date(list[final_ind].start);在while循环内。
-
final_ind = final_ind+1;while(day == day1){ chkdate1 = new Date(list[final_ind].start); -
我只是增加了 var final_ind
标签: javascript jquery