【发布时间】:2019-09-11 18:25:39
【问题描述】:
我正在使用 Google 表格和 Google Apps 脚本。我使用.getRange().getValues 从工作表中获取用户电子邮件。
收到的示例数组:
[[user1, , ], [user2, user3, ], [user4, user5, user6]]
如您所见,我有可能每行最多三个用户(内部数组)。但是,其中一些单元格是空的,导致数组中的值为空。然后我将每个内部数组输入.addEditors(),由于用户为空而引发错误。
我知道我可以遍历每个数组并删除空数组,然后将新数组推送到.addEditors(),但这会很丑陋,而且效率很低。我没有足够的经验知道如何开发更优雅的方式。
有人可以帮助我了解以尽可能有效的方式解决此问题的方式和原因吗?谢谢。
注意:虽然.filter(Boolean) 解决方案似乎可行,但我只能让它适用于单个数组,而不适用于数组中的数组。
var myFilterArray = myArray.filter(Boolean);
arr.forEach(function(x){
return x.filter(Boolean);
});
如果深度大于一,我无法让它返回修改后的数组。
【问题讨论】:
-
我检查过了,但无法让该解决方案发挥作用。收集的值似乎是虚假的,而是被视为 0。尽管如此,这将是最简单的解决方案。
标签: javascript arrays google-apps-script multidimensional-array google-sheets