首页 > 解决方案 > 检查最后一列中的数组内容时,For Loop 未按预期工作

问题描述

我使用 Google Apps 脚本将此表的信息保存在二维数组中。整个阵列构建过程按方面进行。

区域 X 主要的 次要的 角度 传感器编号
1 25049 380.500 246.500 190.953 167.023 0 1
2 24248 393.500 247.000 192.976 159.986 0 2
3 18250 382.500 247.000 159.023 146.121 0 3

但是,当我尝试构建一个遍历数组第一行的每一列的 for 循环(如下面的代码所示)时,我没有得到预期的输出。我试图告诉循环,当数组内容等于“SensorNo”时,将相应的 n 保存为新变量,然后中断循环。但是,每当我要查找的数组内容在最后一列中时,变量仍然未定义......

for(n=0;n<fileContentArray[0].length;n++){
  if(fileContentArray[0][n]=="SensorNo"){
    var sensorNoCol=n;
    break;
  }
}

我希望有一个人可以帮助我。 最好的,马克斯

标签: arraysfor-loopgoogle-apps-scriptgoogle-sheets

解决方案


function getHeaderColumns() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName("Sheet Name");
  const hRow = 1;
  const hA = sh.getRange(hRow, 1, 1, sh.getLastColumn()).getValues()[0];
  let col = {};
  hA.forEach((h, i) => { col[h] = i + 1 });
  return col['SensorNo'];
}

推荐阅读