我真的很困惑,因为这个脚本已经好几个月了,然后今天我发现它已经不再有用了。
它是使用Google Scripts构建的,它使用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
时,它仅返回0
。我曾期望它输出许多控制台日志,从0
开始,然后1
等,直至28
我出错的任何想法?或者我如何迭代我的数组data
?
该函数的目的是遍历名为data
的数组的每个元素,并检查var currentDate
是否与那里找到的数据匹配。如果是,它应该返回下一个数组元素。
答案 0 :(得分:3)
你的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!';
}