Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当将值从'for'循环内的while循环推送到数组中时,它会覆盖数组中以前的元素_Javascript_Arrays_Date_For Loop_While Loop - Fatal编程技术网

Javascript 当将值从'for'循环内的while循环推送到数组中时,它会覆盖数组中以前的元素

Javascript 当将值从'for'循环内的while循环推送到数组中时,它会覆盖数组中以前的元素,javascript,arrays,date,for-loop,while-loop,Javascript,Arrays,Date,For Loop,While Loop,当我将值从for循环中的while循环推送到数组中时,它会覆盖数组中以前的元素 var startDate=新日期(理论数据[0].UpdateDamDy); var newDate=起始日期; var daysDif=0; var daysArray=[startDate]; 对于(var i=1;i OldCycle){ nextDate=这个.sumDays(nextDate,OldCycle); daysArray.push(下一个日期); daysDif=daysDif-OldCycl

当我将值从for循环中的while循环推送到数组中时,它会覆盖数组中以前的元素

var startDate=新日期(理论数据[0].UpdateDamDy);
var newDate=起始日期;
var daysDif=0;
var daysArray=[startDate];
对于(var i=1;i OldCycle){
nextDate=这个.sumDays(nextDate,OldCycle);
daysArray.push(下一个日期);
daysDif=daysDif-OldCycle;
} 
nextDate=这个.sumDays(nextDate,daysDif);
daysArray.push(下一个日期);
}
当我在for循环中的while循环中推送值时,它会覆盖 数组中以前的元素

因为您每次都在更新同一个对象并将其推送到数组中

换行

nextDate = this.sumDays(nextDate , OldCycle);


每次都会创建一个新的日期对象。

@LaiaChorroYanguas请向上投票并接受帮助您的正确答案现在我注意到我数组的最后一个值总是重复的,为什么会发生这种情况?@LaiaChorroYanguas您需要在while loop之外执行此操作,我认为这会解决它@gurvinder372我在代码中的任何地方都应用了这一点,但是在数组末尾复制了一些元素,我不知道为什么。
nextDate = this.sumDays(nextDate , OldCycle);
nextDate = new Date(this.sumDays(nextDate , OldCycle).getTime());