简体   繁体   English

vanilla JS for循环问题

[英]vanilla JS for-loop issue

Throughout for-loop in rosteringArray(), the array is should be like this.在 rosteringArray() 的整个 for 循环中, array应该是这样的。

array[0] = startDate (in form of milliseconds) array[0] = startDate(以毫秒为单位)

array[1] = startDate (in form of milliseconds) + 86400000 array[1] = startDate(以毫秒为单位)+ 86400000

... ...

array[array.length-1] = endDate (in form of milliseconds) array[array.length-1] = endDate(以毫秒为单位)

But it doesn't.但事实并非如此。

how can I develop this code?如何开发此代码?

 var rosteringArray = function(yy1, mm1, dd1, yy2, mm2, dd2){ var date = new Date(yy1,mm1,dd1); var sDate = new Date(date); var timeStart = date.getTime() + 86400000*9; // var date = new Date(yy2,mm2,dd2); var sDate = new Date(date); var timeEnd = date.getTime() + 86400000*9; var end = timeStart; var start = timeEnd; var countDateBetween = (end - start)/86400000 +1; var array = new Array; for (var g = 0; g < countDateBetween; g++){ for (var h =setStart; h < setEnd; h=h+86400000){ array[g] = h; return array; } } } console.log(rosteringArray(2020,0,1,2020,0,03));

You've mixed propery values:您混合了属性值:

var end = timeStart; var end = timeStart; var start = timeEnd;变量开始 = 时间结束;

and you don't need second loop, which will always set last day value for all properties in array.并且您不需要第二个循环,它将始终为数组中的所有属性设置最后一天的值。

Take a look at the working snippet:看一下工作片段:

 var rosteringArray = function(yy1, mm1, dd1, yy2, mm2, dd2){ var date = new Date(yy1,mm1,dd1); var sDate = new Date(date); var timeStart = date.getTime() + 86400000*9; // var date = new Date(yy2,mm2,dd2); var sDate = new Date(date); var timeEnd = date.getTime() + 86400000*9; var end = timeEnd; var start = timeStart; console.log(start); console.log(end); var countDateBetween = (end - start)/86400000 +1; console.log(countDateBetween); var array = new Array; var h =start; for (var g = 0; g < countDateBetween; g++){ array[g] = h; h=h+86400000; } return array; } console.log(rosteringArray(2020,0,1,2020,0,03));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM