Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript GoogleScriptforLoop每次调用时都会运行整个数组-查找_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript GoogleScriptforLoop每次调用时都会运行整个数组-查找

Javascript GoogleScriptforLoop每次调用时都会运行整个数组-查找,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,在下面的代码中,我有一个for循环,它先遍历数组a,然后遍历数组B,但我不明白为什么每次将数组a发送到下一次迭代时,它都遍历第二个数组的所有3个。像A1->B1,B2,B3A2->B1,B2,B3等等。我想让它变成A1->B1,A2->B2等等。这可能吗 function RunAlgo2(){ var ss=SpreadsheetApp.getActive(); var s=ss.getActiveSheet(); var gamesArrayList = s.getRangeLi

在下面的代码中,我有一个for循环,它先遍历数组a,然后遍历数组B,但我不明白为什么每次将数组a发送到下一次迭代时,它都遍历第二个数组的所有3个。像A1->B1,B2,B3A2->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();
    }
  }
}
函数RunAlgo2(){ var ss=SpreadsheetApp.getActive(); var s=ss.getActiveSheet(); var gamesArrayList=s.getRangeList(['B5:B6','B7:B8','B9:B10']); var gamesArray=gamesArray.getRanges(); var gameDataList=s.getRangeList(['C5:E6','C7:E8','C9:E10']); var gameData=gameDataList.getRanges(); 对于(var i=0;假设:
  • 您正在嵌套循环。对于每个外部循环,所有内部循环都将运行到完成
解决方案:
  • 使用单个for循环
片段: (变量i=0;i)的

  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();
//  }
  }