在下面的代码中,我有一个 for 循环,它遍历数组 A,然后遍历 B,但我不明白的是为什么每次将数组 A 发送到下一次迭代时,它都会遍历第二个数组的所有 3 个.像 A1 -> B1、B2、B3 A2-> B1、B2、B3 等。我希望它去 A1 -> B1、A2 -> B2 等。这可能吗?
function RunAlgo2(){
var ss=SpreadsheetApp.getActive();
var s=ss.getActiveSheet();
var gamesArrayList = s.getRangeList(['B5:B6', 'B7:B8', 'B9:B10']);
var gamesArray = gamesArrayList.getRanges();
var gameDataList = s.getRangeList(['C5:E6', 'C7:E8','C9:E10']);
var gameData = gameDataList.getRanges();
for (var i=0;i<gamesArray.length;i++) {
for(var j=0;j<gameData.length;j++) {
gamesArray[i].copyTo(s.getRange('B2:B3'), {contentsOnly:true});
s.getRange('G2:I3').copyTo(gameData[j], {contentsOnly:true});
testWait();
}
}
}
最佳答案
问题:
- 您正在嵌套 for 循环。对于每个外循环,所有内循环都将运行完成。
解决方案:
- 使用单个 for 循环
片段:
for (var i=0;i<gamesArray.length;i++) {
// for(var j=0;j<gameData.length;j++) {
gamesArray[i].copyTo(s.getRange('B2:B3'), {contentsOnly:true});
s.getRange('G2:I3').copyTo(gameData[/*j*/i], {contentsOnly:true});
testWait();
// }
}
关于javascript - 每次调用时,Google Script for loop 都会运行整个数组 - 寻找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59223245/