1 回答
TA贡献1815条经验 获得超13个赞
问题:
return关键字结束当前函数执行。因此,返回get_All_Projects()的不是数组project_arr,而是对象字面identity量,其中第一个元素的属性是info.data:函数在第一次迭代时返回(第一次找到return关键字时)。这个对象没有长度函数,所以info.length是未定义的。当尝试将此与 中的数字 0 进行比较时j < info.length,它返回 false,因此代码永远不会进入 中的for循环getSheet()。因此,没有值被写入工作表。
解决方案:
return关键字应该用于在循环结束后返回数组,project_arr以便for它具有来自 的所有数据info.data,如下所示:
for (var i = 0; i<content.length; i++) {
// Code inside for
}
return project_arr
删除无用代码:
现在,您正在创建一个新数组 ( project_arr),info.data其中基本上具有相同的信息。为此,您将遍历所有项目并将元素逐个info.data推送到。project_arr这样做没有意义。您可以info.data这样做直接使用:
通过在声明之前get_All_Projects()返回来结束函数:info.dataproject_arr
return info.data;
在getSheet()中,更改要写入工作表的属性:
sheet.getRange(2 + j, 1).setValue(info[j].project_state);
sheet.getRange(2 + j, 2).setValue(info[j].ends_at);
sheet.getRange(2 + j, 3).setValue(info[j].starts_at);
sheet.getRange(2 + j, 4).setValue(info[j].id);
sheet.getRange(2 + j, 5).setValue(info[j].name);
添加回答
举报
