javascript - 在 Zapier 中使用 Javascript 时如何克服新行创建问题
问题描述
第一次在 StackOverflow 上发帖,所以请放轻松。这是我想要实现的目标:
我有一个 zap,它从 Google 工作表中获取数据并将其添加到 Javascript 文档中的数组中。我使用 Zapier 代码来创建数组项。我使用了两种方法来实现这一点,并且都给了我同样的问题。
第一种方式:我将 zap 数据推送到一个新数组中以更改使用此代码编写的方式:
/* inputData is the array that zapier puts your data in when using zap code
it looks like this: inputData = {com1: 'company name 1', com2: 'company name 2'}*/
var newArray = [];
var size = Object.keys(inputData).length;
console.log(size);
for (var i = 0; i < size ; i++ ){
if (inputData['com' + i] != null && inputData['com' + i] != ''){
newArray.push('\"' + inputData['com' + i] + '\" ');
}else{
}
}
var output = {company: newArray};
/* the Idea here is to make the new array look like this output = ["company name 1", "company name 2", etc]
第二种方式:是简单地获取数据并输出并在zap的最后一步使用它。
两者都有效(语法方面),因此在最终产品中语法是正确的,但一些新行问题破坏了整个事情。
数组的结果:
这就是它在最终产品中的样子,如果我删除新行,那么它可以正常工作。我不知道如何摆脱这些新线路或如何解决这个问题。
company: {com0: 'company name 1
',com1: 'company name 2 //this is the issue,
',com2: 'company name 4
',com3: 'company name 4
',com4: 'company name 5
'},
解决方案
所以我想出了答案,似乎来自 google Sheet 的数据添加了一个不可见的新行。为了解决这个问题,我使用了 string.trim() 使它起作用。
var newArray = [];
var size = Object.keys(inputData).length;
console.log(size);
for (var i = 0; i < size ; i++ ){
if (inputData['com' + i] != null && inputData['com' + i] != ''){
var line = inputData[i];
newArray.push('\"' + line.trim() + '\" ');
}else{
}
}
var output = {company: newArray};
需要明确的是,这有助于任何使用 zapier 将数据从 GOOGLE SHEET 提取到 Javascript 文档的人。
推荐阅读
- c# - 将二进制字符的十进制值转换为字符
- php - Docker lumen 应用程序抛出 php_network_getaddresses: getaddrinfo failed: Name or service not known
- c++ - 尝试运行 OpenCV 代码时出现“no rule to make target”错误
- android - Android RecyclerView 不在屏幕上显示卡片视图
- bash - 如何在 bash 脚本中运行多个命令行工具实例?+ 脚本的用户输入
- c++ - 如何为 C++ 数组中的特定对象调用函数?
- c# - C# Windows 窗体 - 串口问题/BackgroundWorker
- python - 在 Python 中创建数据框时出现内存错误
- python - 如何在 Anaconda 中将 Python 从 3.7 降级到 3.5
- c# - 即使添加了类库项目的引用,命名空间也不会出现