【发布时间】:2021-11-15 21:23:09
【问题描述】:
执行useFetchAll函数后,将响应值传递给stringform函数,报错
TypeError: A.forEach 不是函数
在示例中,我创建了变量 asdf 并将 Logger.log(响应)值复制到其中,stringform 函数工作并返回一个数组。为什么值为(response)时函数会报错?
// Using UrlFetchApp.fetchAll()
function useFetchAll(req) {
var response = UrlFetchApp.fetchAll(req);
var asdf=[[["a",1],["a",2],["a",3],["a",4],["a",5]], [["b",6],["b",7],["b",8],["b",9],["b",10]], [["c",11],["c",12],["c",13],["c",14],["c",15]], [["d",16],["d",17],["d",18],["d",19],["d",20]], [["e",21],["e",22],["e",23],["e",24],["e",25]]];
Logger.log(response);
Logger.log(stringform(asdf));
}
function stringform(asdf) {
let formad = '';
asdf.forEach(A => {
A.forEach(r => {
formad += r.join(',') + '%0A';
});
});
return formad;
}
【问题讨论】:
-
错误代码是什么?
-
TypeError: A.forEach 不是函数
-
啊,那么 A 可能不是数组
-
在您的情况下,此处的 A
asdf.forEach(A => {仍然是一个数组数组,因为您有一个 3 维数组数组。所以你需要把它弄平一点 -
A不能是数组。应该是一个字符串。你需要JSON.parse(A)它来获取底层数组。
标签: javascript arrays google-apps-script urlfetch