首页 > 解决方案 > 在 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的最后一步使用它。

两者都有效(语法方面),因此在最终产品中语法是正确的,但一些新行问题破坏了整个事情。

数组的结果:

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
'},

标签: javascriptarrayszapier

解决方案


所以我想出了答案,似乎来自 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 文档的人。


推荐阅读