首页 > 解决方案 > 如何使用循环将数据加载到数组中并加载到数据表中?

问题描述

我有一个 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。我做错了什么。?请帮忙。

标签: javascriptarraysloopsfor-loop

解决方案


您应该递增迭代器并将值转换为日期。

for(i=startdate1; i < enddate1; i.setDate(i.getDate() + 1)){
arr.push(([
Id,
new Date(i),
'testing'
]));
Id++;
}

推荐阅读