如何创建自定义的 javaScript 数组



我有一个小的网络应用程序。我在.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中有titlestartend..细节。所以我想创建我需要给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这样说,,希望它对你有帮助。谢谢..

相关内容

  • 没有找到相关文章

最新更新