ваниль JS для-л oop выпуск - PullRequest
       24

ваниль JS для-л oop выпуск

0 голосов
/ 25 апреля 2020

В течение -l oop в rosteringArray () значение array должно быть таким:

array [0] = startDate (в виде миллисекунд)

array [1] = startDate (в виде миллисекунд) + 86400000

...

array [array.length-1] = endDate (в виде миллисекунд)

Но это не так.

как мне разработать этот код?

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));

1 Ответ

1 голос
/ 25 апреля 2020

Вы смешали значения свойств:

var end = timeStart; var start = timeEnd;

и вам не нужен второй l oop, который всегда будет устанавливать значение последнего дня для всех свойств в массиве.

Посмотрите на рабочий фрагмент:

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));
...