我对编码很陌生,我无法通过任何巫毒或谷歌搜索来了解为什么这个简单的代码无法在Google脚本中运行:
var student = new Object; // name & student's hours
var studentNames = new Array;
for (var i=0; i <= allSheets[1].getLastRow(); i++); {
studentNames[i] = allSheets[1].getRange((i+3),1).getValue();
student[studentNames[i]] = allSheets[1].getRange(i+3, 3).getValue();
}
由于一些奇怪的原因,它只是用“null”填充数组studentNames,而Object学生只会显示一个键。
如果我像这样绕过for循环,
studentNames[0] = allSheets[1].getRange(3,1).getValue();
studentNames[1] = allSheets[1].getRange(4,1).getValue();
studentNames[2] = allSheets[1].getRange(5,1).getValue();
studentNames[3] = allSheets[1].getRange(6,1).getValue();
一切都很完美!
如果有人能告诉我我做错了什么,我会非常感激。
答案 0 :(得分:2)
在for
循环结束时删除分号
for (var i=0; i <= allSheets[1].getLastRow(); i++);
&lt; - 这一个
答案 1 :(得分:0)
第4行有一个额外的分号:
for (var i=0; i <= allSheets[1].getLastRow(); i++); {
应该是:
for (var i=0; i <= allSheets[1].getLastRow(); i++) {
分号最终关闭for循环的主体,因此块{...}
最终只执行一次。