Я пытаюсь взять диапазон данных значений X и Y и поместить значение третьего столбца в другую электронную таблицу, используя значения X и Y в качестве диапазона ячеек.Как можно использовать метод .map()
для использования массива для ряда задач?Является ли моя единственная реальная возможность использовать цикл «for», который может быть очень медленным, чтобы пройти через множество строк данных?
Я попытался и успешно использовал функцию «для цикла», чтобы переходить один за другим через одиннайдите значения в каждом столбце и разместите третий столбец значений на другом листе.Однако, чем больше этот список, тем медленнее процесс
function testMap() {
//Open Active Spreadsheet App
var ss = SpreadsheetApp.getActive();
//Capture sheets by name
var sheetCoord = ss.getSheetByName('Coordinates');
var sheetPlots = ss.getSheetByName('Plots');
//Create last row and column variables
var lR = sheetCoord.getLastRow();
var lC = sheetCoord.getLastColumn();
lR = lR-1;
//Create array of all data
var data = sheetCoord.getRange(2, 1, lR, lC).getValues();
//Create variables for placement into proper sheet
var x = data.map(function(f){ return f[0] });
var y = data.map(function(f){ return f[1] });
var v = data.map(function(f){ return f[2] });
sheetPlots.getRange(y, x, lR, lC).setValues(v);
}
Я ожидаю, что это отобразит значения в диапазоне, а затем постепенно примет каждое значение каждого диапазона и отобразит значение ячейки "v" в координатах наСюжетный лист.Он просто говорит
"Невозможно преобразовать 6,2,1 в (класс). (Строка 23, файл" Код ")".