我在JavaScript中有这段硬编码的代码片段,我想知道是否可以通过for循环使其动态化。我的问题是我不知道如何输出JavaScript文件中的值。
function getEventData() {
return {
events: [
{
"id":1,
"start": new Date(year, month, day, 12),
"end": new Date(year, month, day, 13, 30),
"title":"Check Up"
},
{
"id":2,
"start": new Date(year, month, day, 14),
"end": new Date(year, month, day, 14, 45),
"title":"Free Trial",
readOnly: true
},
{
"id":3,
"start": new Date(year, month, day + 1, 17),
"end": new Date(year, month, day + 1, 17, 45),
"title": "Consultant"
},
{
"id":4,
"start": new Date(year, month, day - 1, 8),
"end": new Date(year, month, day - 1, 9, 30),
"title":"Check Up"
}
]
};
}
这是硬编码的JavaScript代码。是否可以遍历列表并输出如下所示的值:
for(var i = 0; i < listEvents.lenght; i++)
{
{
"id": listEvents[i].Id,
"start": listEvents[i].Start,
"end": listEvents[i].End,
"title": listEvents[i].Title
},
}
非常感谢你的帮助..非常感谢。
答案 0 :(得分:1)
这样的东西?
var result = { events: [] };
for(var i = 0; i < listEvents.length; i++)
{
result.events.push ({
"id": listEvents[i].Id,
"start": listEvents[i].Start,
"end": listEvents[i].End,
"title": listEvents[i].Title
});
}
答案 1 :(得分:0)
好吧,看起来你必须在某个时间点创建所有“事件”,所以以你显示的第二种方式做这个没有多大意义,因为你必须首先填充“listEvents”数组
使代码更整洁的一种方法是使用类似的构造函数:
var Event = function(id, start, end, title) {
this.id = id;
this.start = start;
this.end = end;
this.title = title;
return this;
}
var getEventData = function () {
return {
events : [
new Event("1", new Date(...), new Date(...), "title"),
new Event("2", new Date(...), new Date(...), "title"),
new Event("3", new Date(...), new Date(...), "title")
]
}
}