我有一个小的网络应用程序。我在.jsp文件中使用日历(此处为FullCalendar的代码)。我使用Spring mvc架构。因此,当此页面加载时,负责此页面加载的控制器将向model
添加一个名为calendarEventList
的属性。'日历事件列表' 是一个ArrayList<calObject>
.calObject 是一个包含有关偶数的详细信息的类。
我可以通过${calEvent.eventID}
calEvent
是该 ArrayList 中的对象来访问 jsp 中的这些详细信息。
在FullCalendar中,事件加载可以像下面这样调用
$('#calendar').fullCalendar({
events: [
{
title : 'event1',
start : '2010-01-01'
},
{
title : 'event2',
start : '2010-01-05',
end : '2010-01-07'
},
{
title : 'event3',
start : '2010-01-09 12:30:00',
allDay : false // will make the time show
}
]
});
我想要的是下面
$('#calendar').fullCalendar({
events: //read the `calendarEventList` and create a suitable array
});
我在Oblect of the calendarEventList
中有title
、start
、end
..细节。所以我想创建我需要给fullcalendar
的列表。如何在 JS 中创建这样的数组。它的结构应该与示例中给出的[{},{},{},...,{},{}]
匹配。 {}
包括有关该calendarEventList
ArrayList 中的一个对象的详细信息。
任何详细的描述将不胜感激。
如果我真的理解你的问题(你有对象数组,所有对象都包含不同的字段,但每个对象都包含标题、开始(和结束))。所以你的任务是过滤这个数组。
溶液:
function factory(array){
return array.map(function(item){
var instance = {title: item.title, start: item.start};
if(item.end) instance.end = item.end;
return item;
});
}
var res = factory([{ item: 1, title: 2, start: 4, an: 123, pp: "asdf"}, { item: 2, title: 2, start: 4, end: 5}, { item: 3, title: 2, start: 4}]);
输出将是带有开始、标题、(结束)字段的对象过滤数组;
试用演示
让我们试试我的例子:
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var employees = [];
employees.push({ id: 111, title: "Testing Event 001", start: new Date(y, m, d-5,10,30) , end: new Date(y, m, d-5,12,30),className: ['yellow-event', 'black-text-event']});
employees.push({ id: 111, title: "Testing Event 002", start: new Date(y, m, d-3,10,30) , end: new Date(y, m, d-3,12,30),className: ['yellow-event', 'black-text-event']});
events: employees
这样说,,希望它对你有帮助。谢谢..