#arrays #for-loop #google-apps-script #google-sheets
Вопрос:
Я сохранил информацию этой таблицы в 2D-массиве с помощью скрипта Google Apps. Весь процесс построения массива работал как задумано.
Область | X | Y | Главный | Незначительный | Угол | СенсорНо | |
---|---|---|---|---|---|---|---|
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;
}
}
Я надеюсь, что кто — нибудь сможет мне помочь.
Всего наилучшего, Макс
Ответ №1:
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'];
}