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

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

我真的很困惑,因为这个脚本已经运行了几个月,但今天我发现它不再运行了。

它是使用 Google 脚本构建的,脚本使用 Javascript,我只能使用 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 时,它 return 仅 0。我原以为它会输出许多控制台日志,从 0 开始,然后是 1 等,直到 28

有什么地方出错了吗?或者我还能如何遍历我的数组 data?

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

您的 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!';
}