我有一个for循环,用于将数据推入数组,然后将该数据加载到数据表中。 Mycode for循环如下:
var arr = [];
var Id =1;
for(i=startdate1; i < enddate1; startdate1.setDate(startdate1.getDate() + 1)){
if (New_SDate == DWD_2) {
arr.push(([
Id,
startdate1,
'testing'
]));
Id++;
}
}
var t=$("#table").datatable;
for (i = 0; i < arr.length; i++) {
t.row.add([
arr[i][0],
arr[i][1],
arr[i][2]
]).draw();
}
如果我的条件满足,则我的数组需要将数据存储为
{Id=1, Startdate1=1/1/2019, 'testing'}
{Id=2, Startdate1=8/1/2019, 'testing'}
{Id=3, Startdate1=15/1/2019, 'testing'}..
当我调试时,它可以正确加载,但是最终输出显示为
Id=1, Startdate1=31/12/2019, 'testing'
Id=2, Startdate1=31/12/2019, 'testing'
Id=3, Startdate1=31/12/2019, 'testing'..
表示,它显示整个startdate1的最后一个'startdate1'值。我做错了什么?请帮助。
答案 0 :(得分:0)
您应该增加迭代器并将其转换为Date。
for(i=startdate1; i < enddate1; i.setDate(i.getDate() + 1)){
arr.push(([
Id,
new Date(i),
'testing'
]));
Id++;
}