google-apps-script - 谷歌应用脚本:在不同的脚本中使用库给我不同的行为
问题描述
我正在使用数据框-js。https://gmousse.gitbooks.io/dataframe-js/content/doc/api/dataframe.html
我已将代码粘贴到 .gs 文件中script1
。
此代码适用于script1
.
function test(){
var data =[[1,2,3],['a','b','c']]
var DataFrame = dfjs.DataFrame
var df = new DataFrame(data)
}
但是当添加script1
为库时,script2
我不能再使用代码了。
function test(){
var data =[[1,2,3],['a','b','c']]
var DataFrame = script1.dfjs.DataFrame
var df = new DataFrame(data)
}
我收到此错误
Error
ArgumentTypeError: Array while expecting DataFrame | Array | Object.
_construct @ dataframe-js 1.4.3.gs:3167
Wrapper @ dataframe-js 1.4.3.gs:3191
ArgumentTypeError @ dataframe-js 1.4.3.gs:4517
_build @ dataframe-js 1.4.3.gs:6813
DataFrame @ dataframe-js 1.4.3.gs:6665
我可以再次粘贴代码。但为什么这不起作用?不知道这是一个dataframe-js
问题还是我错过了一些简单的东西。
解决方案
当我console.log(script1.dfjs.DataFrame)
在客户端进行测试时,我确认脚本有效。因此,从 的错误消息中ArgumentTypeError: Array while expecting DataFrame | Array | Object.
,我认为可能需要data
按值将数组作为字符串传递。我认为这个问题的原因可能是由于this
库端和客户端不同。那么当下面的修改反映在你的情况中,你会得到什么结果呢?
对于图书馆方面:
请将以下脚本复制并粘贴到库端的脚本文件中。
function DataFrame(data) {
return new dfjs.DataFrame(JSON.parse(data));
}
对于客户端:
请在客户端测试以下脚本。
function test(){
var data =[[1,2,3],['a','b','c']];
var df = script1.DataFrame(JSON.stringify(data));
}
推荐阅读
- sql - 无法弄清楚如何从 SQL redshift 中的表中获取重复值
- android - 显示阿拉伯数字而不是英文
- python - 窗口大小在 pygame 中无法正常工作
- c - Libelf 将条目添加到现有精灵的字符串表
- c# - 为什么在反编译我的应用程序时出现错误?
- amazon-web-services - Appsync graphQL 错误:“变量 'input' 已强制 NonNull 类型 'ID!' 的 Null 值”,尽管控制台日志记录 id
- python - TreeNodeChoiceField 在表单中不可迭代 - Django
- python - 在带有负号的行中添加列
- typescript - 如何将所有类型从接口更改为字符串?
- c - C 程序限制用户输入的字符数。需要解决方案吗?