For 循环不迭代,输出的数据不超过第一个任务

For loop does not iterate, does not output more than first task of data?

本文关键字:数据 不超过 第一个 任务 输出 循环 迭代 For      更新时间:2023-09-26

我真的很困惑,因为这个脚本已经工作了几个月,然后今天我注意到它不再工作了。

它是使用使用

Javascript的Google脚本构建的,我只能使用Logger.log记录数据,因此它与大多数Javascript略有不同,但它的工作方式大致相同。

我已经找到了出现问题的区域。我的for循环不会遍历数组。

function checkGetAmount(currentDate,data){
  var arrayLength = data.length; // this outputs as 28 - is correct
  for (var i = 0; i < arrayLength; i++) {
    // This is where the error occurs. If I try to output var I, it shows as "0" always
    if (data[i] == currentDate){
      i++;
      var amount = data[i];
      return amount;
    }else{
      return 'Not today';}
  }
}

我试图测试为什么它没有爬过所有 29 个数据元素。当我控制台记录 var i时,它只返回0.我原本希望它输出许多控制台日志,从0开始,然后1等,直到28

有什么想法我哪里出错了吗?或者我还能如何遍历我的数组data

该函数的目的是运行名为 data 的数组的每个元素,并检查 var currentDate是否与在其中找到的数据匹配。如果是这样,它应该返回下一个数组元素。

你的 for 循环不会遍历数组,因为你在第一次交互时从函数返回......你的代码应该是(如果我理解正确的话):

function checkGetAmount(currentDate,data){
  for (var i = 0, toi = data.length; i < toi ; i++){
    if (data[i] == currentDate && data[i+1])
      return data[i+1];
  }
  return 'not found!';
}