gpt4 book ai didi

javascript - 为什么我的 start 变量在此 for 循环运行之前被更改?

转载 作者:行者123 更新时间:2023-11-30 09:35:20 25 4
gpt4 key购买 nike

所以最奇怪的事情发生了。

我有这个 node.js express 服务器,我想在它启动时运行一个函数。

当它启动时,它会在我的数据库中查询一组应该删除的对象,因为它们太旧了。我有一个 for 循环,我想用它来删除它们。但是当 for 循环开始并且我有一个变量(在本例中它现在应该称为迭代器)设置为 0 时,var iterator = 0 但它一直设置为我的数组的长度。

所以当 for 循环开始时,迭代器不是等于 0,而是等于 3。然后当循环发生时,它会中断,因为它试图访问 data[3].ChildID; 对于大小为 3 的数组,而不是 data[0].ChildID;

这可能是什么原因造成的?

app.listen(3000, function() {
console.log("Launch successful. To access app, open your browser and insert the following URL into your address bar: http://localhost:3000/");
// var i = 0;
// setInterval(updateDB.callUnenrolledList(function(err, data){
// if(err) {
// // do nothing
// }
// // send the data
// console.log("Checking for Unenrolled Children...");
// res.send(data);
// }), 1000);

updateDB.callUnenrolledList(function(err, data){
if(err) {
// do nothing
}
console.log("Checking for Unenrolled Children...");
if(data.length < 1){
console.log("Database is up to date. No Children Deleted");
//Do nothing. There are no unenrolled children
} else {
//Check to see if children have been "idle" for 5 years (arbitrary time set by SPCCC) and delete them if they have been
var currentDate = new Date();
var iterator = 0;
for(iterator; iterator < data.length; iterator++);{
console.log(iterator);
// var unenrolledDate = new Date(data[i].unenrolledDate);
var unenrolledDate = new Date("5/4/2017");
var difference = currentDate - unenrolledDate;
if(difference > 86400000){
console.log("Over 1 day old. Delete child!");
console.log(iterator);
var child = data[a].ChildID;
var ID = {ChildID: child};
updateDB.deleteChildFromDatabasePermanently(ID);
console.log("child deleted");
} else{
//do nothing
}
// if(difference > 157700000000){
// console.log("Over 5 years old. Delete child!");
// }
}
}
});
});

最佳答案

你在 for 循环 行的末尾放错了 ; :)

尝试改变这个:

for(iterator; iterator < data.length; iterator++);{

到:

for(iterator; iterator < data.length; iterator++) {

正如您报告的那样,那个愚蠢的拼写错误巧妙地解释了 iterator 等于 data.length

关于javascript - 为什么我的 start 变量在此 for 循环运行之前被更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43881008/

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