1
我有一个函数,它获取Date并从JSON文件中读取事件。当日期位于事件的时间段内时,它应该被添加到数组中,该数组应该在函数结束时返回。将JSON对象推入数组
function getEvents(askDate) {
var askDate = new Date(askDate);
var result = new Array();
$.getJSON(EVENTS_JSON, function(data) {
$.each(data.events, function(key, entry) {
if(isInPeriod(askDate.setHours(0,0,0,0), new Date(entry.date[0]).setHours(0,0,0,0), new Date(entry.date[1]).setHours(0,0,0,0))) {
result.push(entry);
}
});
});
if(result.length === 0) {
result = false;
}
return result;
}
不幸的是我得到以下错误:“TypeError:result.push不是函数”。
isInPeriod函数工作正常,以前我有一个控制台输出就在result.push()之前,它是JSON对象。
JSON的样子:
{
"events": [
{
"id": 1,
"name": "Example Event",
"date": [
"2014/11/25 07:30:00",
"2014/11/25 09:00:00"
],
"desc": "Lorem Ipsum sim dolor",
"image": "http://upload.wikimedia.org/wikipedia/commons/8/84/Example.svg",
"adress": "Example Road 12",
"youtube": "https://www.youtube.com/watch?v=_5DqL5-izAY",
"tags": [
"Example"
],
"categories": [
"main_category",
"sub_category",
"sub_sub_category"
]
}
]
}
'result.events.push(entry)'? – 2014-11-25 13:43:51