javascript - 从自定义 Google 表格函数返回二维数组时,从类中检索的值留空
问题描述
如果标题有点混乱,我很抱歉。基本上我有一个自定义的谷歌表格函数,它接收一个单元格范围作为参数。我有一个名为 Employee 的类,其构造函数将 ID 作为参数并将值保存在变量中。在自定义函数中,我创建了一个名为Employees 的数组,并为范围内的每个值添加一个Employee 类的新实例,并将该值作为构造函数参数。然后,我创建一个名为 IDs 的空数组,并遍历Employees 数组中的每个元素,并将保存在类中的ID 值添加到新数组中。如果我返回 IDs 数组,那么当我在 google 表格上调用该函数时,项目列表将垂直显示。但是,如果我改为创建一个二维数组并将 IDs 变量添加为元素之一,同时创建一个具有固定元素的新数组作为第二个值。如果我返回那个新的二维数组,当我调用函数时,Ids 数组应该水平打印在相邻的单元格上,第二个数组的值应该打印在下面。但是,不会打印 ID,只打印第二个数组的值。如果在遍历Employees 数组并将他们的ID 添加到IDs 数组之后我添加一个常量值,那么在调用函数时只会打印该值。这只发生在我返回一个二维数组时,如果我只返回 ID,它们都会被打印出来。如果在遍历Employees 数组并将他们的ID 添加到IDs 数组之后我添加一个常量值,那么在调用函数时只会打印该值。这只发生在我返回一个二维数组时,如果我只返回 ID,它们都会被打印出来。如果在遍历Employees 数组并将他们的ID 添加到IDs 数组之后我添加一个常量值,那么在调用函数时只会打印该值。这只发生在我返回一个二维数组时,如果我只返回 ID,它们都会被打印出来。
在下面的函数中,当在 Google Sheets 上调用图表函数时,ids 数组将在工作表上留空。
class Employee{
constructor(employee){
this.employeeID = employee;
}
}
function chart(employeeIDs){
employees = [];
for(x = 0; x < employeeIDs.length; x++)
employees.push(new Employee(employeeIDs[x]));
ids = [];
for(x = 0; x < employees.length; x++)
ids.push(employees[x].employeeID);
vehicles = ["Car", "road", "bus", "Plane", "Submarine"];
return [ids, vehicles];
}
如果我将退货更改为...
return ids
然后,当调用该函数时,将打印 ids 中的项目列表。如果在添加 Employee 类中的值后向 ids 数组添加其他值,例如...
ids = [];
for(x = 0; x < employees.length; x++)
ids.push(employees[x].employeeID);
ids.push(12)
vehicles = ["Car", "road", "bus", "Plane", "Submarine"];
return [ids, vehicles];
'''
Then only the number 12 is printed at the end, plus the entire contents of the vehicles array.
解决方案
推荐阅读
- bash - bsub 命令内的输出重定向
- ios - #if canImport(module) 仍然无法解决 Swift 4.1 中的条件导入语句?
- c# - 试图在 iqueryable any 中进行切换
- amazon-web-services - 通过自动创建新的从机来自动缩放 Jenkins 实例
- facebook - Ionic-Native、Angular 6、Ionic 4 - Facebook 和 Google 登录问题 - 对象不是函数
- visual-studio-code - 如何激活 Visual Studio Code 中的活动栏?
- r - 数据框中重复 ID 的压缩因子变量
- node.js - 在 MongoDB 中将 ObjectId 转换为字符串
- php - Codeigniter,没有 $data 的未定义变量
- c# - 使用 AutoMapper 更新数据库中的复杂对象 - 如何忽略一次映射的嵌套对象?