Google Apps Script报错:rangoDestino.map is not a function 求助
解决Google Apps Script中".map is not a function"错误
你的代码报错原因很明确:hojaDestino.getDataRange()返回的是Range对象,而map是JavaScript数组的专属方法,Range对象不能直接调用map。
修正步骤
- 先调用Range对象的
getValues()方法,把单元格数据转换成二维数组 - 再对这个二维数组使用
map提取第一列的ID
另外注意:你定义的precio变量目前是Range对象,如果要获取单元格的实际值,需要加上getValue()方法。
修正后的完整代码
function actualizarValor() { // 源表部分 var libroOrigen = SpreadsheetApp.getActiveSpreadsheet(); var hojaOrigen = libroOrigen.getActiveSheet(); var celdaActiva = libroOrigen.getActiveCell(); var filaActiva = celdaActiva.getRow(); // 获取单元格实际值,而非Range对象 var precio = hojaOrigen.getRange(filaActiva, 4).getValue(); // 目标表部分 var libroDestino = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1KGVgxcZDhZEk7EEj94sYZasR1QbrB8vW058B9h4aSg8/edit#gid=0"); var hojaDestino = libroDestino.getSheetByName("datos"); var rangoDestino = hojaDestino.getDataRange(); // 先转成二维数组再调用map var datosDestino = rangoDestino.getValues(); var listaIDsDestino = datosDestino.map(fila => fila[0]); Logger.log(rangoDestino); Logger.log(listaIDsDestino); Logger.log(precio); }
内容的提问来源于stack exchange,提问作者Antonio Viera
相关产品推荐
相关产品推荐

