При работе со скриптом Google Apps в Google Таблицах вам часто может потребоваться получить индексы нескольких строк. Это может быть полезно для различных целей, таких как фильтрация и манипулирование данными. В этой статье мы рассмотрим несколько методов эффективного выполнения этой задачи, а также приведем примеры кода.
Метод 1: использование цикла for
Один простой подход — перебирать строки с помощью цикла for и сохранять индексы в массиве. Вот пример:
function getIndexesUsingForLoop() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lastRow = sheet.getLastRow();
var indexes = [];
for (var i = 1; i <= lastRow; i++) {
indexes.push(i);
}
return indexes;
}
Метод 2: использование функции map()
Другой элегантный способ — использовать функцию map(), которая создает новый массив путем применения предоставленной функции к каждому элементу исходного массива. Вот пример:
function getIndexesUsingMap() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lastRow = sheet.getLastRow();
var indexes = Array(lastRow).fill().map((_, i) => i + 1);
return indexes;
}
Метод 3: использование функции Array.from()
Функция Array.from()также может использоваться для создания массива индексов. Он создает новый экземпляр массива из объекта, подобного массиву или итерируемого. Вот пример:
function getIndexesUsingArrayFrom() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lastRow = sheet.getLastRow();
var indexes = Array.from(Array(lastRow), (_, i) => i + 1);
return indexes;
}
, чтобы получить желаемый диапазон, а затем извлечь индексы. Вот пример:
function getIndexesUsingGetRange() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var startRow = 2; // Starting row of the desired range
var numRows = 5; // Number of rows in the desired range
var range = sheet.getRange(startRow, 1, numRows, 1);
var indexes = range.getValues().map((_, i) => i + startRow);
return indexes;
}
В этой статье мы рассмотрели несколько методов эффективного получения индексов нескольких строк в скрипте Google Apps. Независимо от того, предпочитаете ли вы использовать циклы, методы функционального программирования или встроенные методы, эти подходы помогут вам легко получить индексы строк. Используя эти методы, вы можете улучшить рабочие процессы обработки и анализа данных в Google Таблицах.