我有2個約會。 Date1 = "1/1/2022"和Date2 = "1/3/2022"。我想創建一個由["1/1/2022", "1/2/2022", "1/3/2022"]. 很直接。不知道為什么我的代碼不起作用。附上我的代碼運行后的截圖。它給我的陣列結果是["1/4/2022", "1/4/2022", "1/4/2022"].

function test1() {
var array = []
var date1 = new Date(2022, 0, 1)
var date2 = new Date(2022, 0, 3)
d = date1
while (d <= date2) {
console.log(d)
array.push(d)
d.setDate(d.getDate() 1)
}
console.log(array)
}
test1();
uj5u.com熱心網友回復:
您正在更新相同的參考,它正在更改已存盤在陣列中的值。
試試這個:
while(d <= date2) {
array.push(d)
var copy = new Date()
copy.setTime(d.getTime())
copy.setDate(d.getDate() 1)
d = copy
}
這將確保d在每次迭代中都是一個新物件。
uj5u.com熱心網友回復:
試試這個:
function test1() {
var array = [];
var date1 = new Date(2022, 0, 1);
var date2 = new Date(2022, 0, 3);
d = date1;
while (d.valueOf() <= date2.valueOf()) {
console.log(d);
array.push(new Date(d));
d.setDate(d.getDate() 1);
}
console.log(array)
}
Execution log
5:49:29 PM Notice Execution started
5:49:29 PM Info Sat Jan 01 2022 00:00:00 GMT-0700 (Mountain Standard Time)
5:49:29 PM Info Sun Jan 02 2022 00:00:00 GMT-0700 (Mountain Standard Time)
5:49:29 PM Info Mon Jan 03 2022 00:00:00 GMT-0700 (Mountain Standard Time)
5:49:29 PM Info [ Sat Jan 01 2022 00:00:00 GMT-0700 (Mountain Standard Time),
Sun Jan 02 2022 00:00:00 GMT-0700 (Mountain Standard Time),
Mon Jan 03 2022 00:00:00 GMT-0700 (Mountain Standard Time) ]
5:49:30 PM Notice Execution completed
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/399247.html
標籤:javascript 数组 谷歌应用程序脚本
上一篇:DocumentApp的TableCell.appendImage在影像之前創建了一個不必要的段落。我怎樣才能避免這種情況?
