javascript - Google 应用程序脚本,将(两个)2 "variables"或 "array"从 code.gs 传递到 index.html/Javascript

标签 javascript arrays google-apps-script

我需要将 2 个“变量”或“数组”从我的 Code.gs 传递到我的 index.html/javascript。 2 个“变量”是我的工作表的值和单元格的背景颜色。 如果我只传递 1 个变量(waardes 或 kleuren),函数会起作用,如果我尝试同时传递它们,我只会在“return waardes,kleuren”中获得最后一个变量传递。

//代码.gs

function getSheetData(){
    var ss = spreadsheetApp.openById("1EpOCr_wjeYhn2YsQjRpAaUtaJNKv_4Rf81vnG59EvPA").getSheetByName("sheet");
    var waardes, kleuren;
    waardes = ss.getDataRange().getValues();
    kleuren = ss.getDataRange().getBackgrounds();

    return waardes, kleuren; 
}

//index.html/javascript

function functionShowSheet() {
    google.script.run.withSuccessHandler(showValuesandColors).getSheetData();

    function showValuesandColors (waardes, kleuren) {
        alert(waardes);
        alert(waardes[0][0]);
        // do something with the  values and colors
    }
}

最佳答案

与基本的编程概念一样,大多数编程语言只从函数返回一个值。阅读本文 "Why do most programming languages only return a single value from a function?"

因此您不能从 javascript 中的函数返回多个变量中的多个值。

那怎么办?

您可以返回一个集合,即一个对象或一个包含来自函数的多个值的数组。

function getSheetData(){
    var ss = spreadsheetApp.openById("1EpOCr_wjeYhn2YsQjRpAaUtaJNKv_4Rf81vnG59EvPA").getSheetByName("sheet");
    var waardes, kleuren;
    waardes = ss.getDataRange().getValues();
    kleuren = ss.getDataRange().getBackgrounds();

   return {waardes: waardes, kleuren: kleuren}; 
}

然后获取index.html中的值

function showSheet(){
    google.script.run.withSuccessHandler(showValuesandColors).getSheetData();
}

function showValuesandColors (myObj) {
    var waardes = myObj.waardes;
    var kleuren = myObj.kleuren;
}

你也可以像这样返回一个数组而不是一个对象:

在 code.gs 中

function getSheetData(){
    ....
    var resArr = [waardes, kleuren];
    return resArr;
}

在 index.html 中

function showValuesandColors (myArr) {
    var waardes = myArr[0];
    var kleuren = myArr[1];
}

关于javascript - Google 应用程序脚本,将(两个)2 "variables"或 "array"从 code.gs 传递到 index.html/Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37961108/

相关文章:

arrays - Python Numpy重复一个arange数组

java - 如何将文件中的数字列表放入数组并返回数组

javascript - 在 Google 脚本编辑器(Google 表格)中按 K 列过滤数据

javascript - 形状大小不等于表格单元格大小并适合形状内的文本

javascript - 使用脚本拆分 PDF,但不适用于横向 PDF

javascript - 当我从 Controller 更改它时,Angular ng-style 不会自动应用更改

javascript - jQuery:如何检测页面是否被ajax请求调用

javascript - 需要帮助将纹理背景设置为容器 div

arrays - MongoDB统计最常见的嵌套数组

javascript - 检查图像加载失败