gpt4 book ai didi

javascript - 无法返回数组 [Google 应用程序脚本]

转载 作者:行者123 更新时间:2023-12-02 04:29:57 25 4
gpt4 key购买 nike

我们有一个问题。我们现在的代码可以工作,但是我们无法让数组在 html 页面上返回。我们从 html 页面发送一个数字,然后 returnData 函数发生。当它运行时,它会通过 loopsheetGewoon,然后返回一个数组。数组返回给returnData,函数以返回数组结束。

问题是,当我们尝试将数组获取到 html 页面以便从电子表格中获取单个数据时,它返回未定义。我们也曾尝试将 javascript 值传递给 google apps 脚本代码,但这没有用。

function loopSheetGewoon(data, studentNr){
var SpreadSheetKeyA = "1h8fDwCUUPHRdmTHu-5gMyqU294ENZxCZcHCNCuN6r_Y";
var sheet1 = SpreadsheetApp.openById(SpreadSheetKeyA).getActiveSheet();
var array = [];
for (var y = 0; y < data.length; ++y ) {
var datum = Utilities.formatDate(data[y][0], "CET", "dd-MM-yyyy hh:mm");
var nummer = data[y][2];
if(studentNr.equals(nummer)){
for (var x = 0; x < 35; x++ ) {
array.push(data[y][x]);
}
return array;
}
}
}

下面是启动的函数。

function returnData(stuNr){
var SpreadSheetKeyA = "1h8fDwCUUPHRdmTHu-5gMyqU294ENZxCZcHCNCuN6r_Y";
var sheet1 = SpreadsheetApp.openById(SpreadSheetKeyA).getActiveSheet();
var data = sheet1.getDataRange().getValues();
var array = [];
array = loopSheetGewoon(data, stuNr);
Logger.log(array);
return array;
}

下面是我们从 html 页面运行的函数。单击按钮时,它会向 returnData 函数发送一个数字(存储为字符串值)。它现在应该用数组填充变量 d,但是它一直返回 undefined。

$("#oph").click(function ophalen(){
var s = $("#nummer").val();
var displayEl = document.getElementById("nummer");
var d = [];
alert(s);
d = google.script.run.returnData(s);

//for( var y = 0; y < d.length(); ++y){
//var naam = data[y][1];
//var studentnr = data[y][2];
//var document = data[y][32];
//}
alert(d);
var div = document.getElementById('block');
div.innerHTML = naam;
});

所以我不确定我们做错了什么,因为函数本身工作正常,直到返回 html 页面为止。

最佳答案

不幸的是,google.script.run 的记录限制之一(截至 2019 年 3 月仍然有效)是您不能以任何方式传递 Date 对象,包括作为数组的一部分。

您可以在范围内调用 getDisplayValues() 而不是 getValues() 以仅获取字符串数组作为开始,或者您可以通过处理 getValues() 数组将日期对象转换为字符串。

关于javascript - 无法返回数组 [Google 应用程序脚本],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23911032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com