gpt4 book ai didi

javascript - 所有值均替换为 For 循环 TypeScript 中的最后一个值

转载 作者:行者123 更新时间:2023-11-28 17:04:30 25 4
gpt4 key购买 nike

我在 JavaScript 中有一个 for 循环,它连接 calendarEvents 中的数据:

drop(info) {
var that = this;
var startDate = info.date;
var frequency = this.skippingNumber;

for (var i = 0; i <= 3; i++) {
(function (start) {
that.calendarEvents = that.calendarEvents.concat({
title: 'Dropped Event',
start: start,
allDay: info.allDay
});
})(startDate);
startDate = this.addDays(startDate, frequency);
}
}

addDays(date: Date, days: number): Date {
var passedDate = date;
passedDate.setDate(passedDate.getDate() + days);
return passedDate;
}

如果我在循环内记录startDate,我会得到实际值,即星期一、星期二、星期三、星期四。但是当我记录calendarEvents时,我得到的所有数据都是星期四。谁能帮我这个?预先感谢!

最佳答案

所有 addDays() 调用都接收参数、修改并返回相同的对象 (var startDate = info.date)。

重写addDays()方法来创建并返回一个新的Date对象:

addDays(date: Date, days: number): Date {
var passedDate = new Date(date.getTime());
passedDate.setDate(passedDate.getDate() + days);
return passedDate;
}

关于javascript - 所有值均替换为 For 循环 TypeScript 中的最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56236215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com