Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 为什么赢了';Google应用程序脚本在数组中查找字符串_Javascript_Arrays_String_Google Apps Script - Fatal编程技术网

Javascript 为什么赢了';Google应用程序脚本在数组中查找字符串

Javascript 为什么赢了';Google应用程序脚本在数组中查找字符串,javascript,arrays,string,google-apps-script,Javascript,Arrays,String,Google Apps Script,我希望GoogleApps脚本将电子表格中的列名转换为列号,但无法使其与列名字符串匹配。有人能告诉我我能做些什么使它工作吗。这是我的代码: function getCol(columnName){ var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form responses 1"); var colNames = sheet.getRange(1, 1, 1, sheet.getLastColumn())

我希望GoogleApps脚本将电子表格中的列名转换为列号,但无法使其与列名字符串匹配。有人能告诉我我能做些什么使它工作吗。这是我的代码:

function getCol(columnName){
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form responses 1");
  var colNames = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
  for (var i = 0; i < colNames.length; i++){
    if (colNames[i].toLowerCase() === columnName.toLowerCase()){
      return i;
    }
  throw "Column name "+columnName+" not found in column names "+colNames;
  }
} 

在for循环中有throw语句。您需要将其移动到for循环之外。 现在,您只需测试数组中的第一个值,在本例中为“Def”,然后调用throw语句。由于'Def'不等于参数columnName,因此在您的情况下,它似乎是'Date Required',因此会抛出一个错误

这就是它的外观,如果您将“Date Required”作为参数传入,函数现在应该返回1

function getCol(columnName){
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form responses 1");
  var colNames = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
  for (var i = 0; i < colNames.length; i++){
    if (colNames[i].toLowerCase() === columnName.toLowerCase()){
      return i;
    }
  }
  throw "Column name "+columnName+" not found in column names "+colNames;
} 
函数getCol(columnName){ var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“表单响应1”); var colNames=sheet.getRange(1,1,1,sheet.getLastColumn()).getValues()[0]; 对于(var i=0;i(Facepalm)非常感谢,真不敢相信我没看到。
function getCol(columnName){
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form responses 1");
  var colNames = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
  for (var i = 0; i < colNames.length; i++){
    if (colNames[i].toLowerCase() === columnName.toLowerCase()){
      return i;
    }
  }
  throw "Column name "+columnName+" not found in column names "+colNames;
}