【问题标题】:How to properly format working javascript for Code by ZapierZapier 如何正确格式化 Code 的工作 javascript
【发布时间】:2019-05-31 23:51:25
【问题描述】:

我正在尝试重新创建一个简单的 javascript for 循环以在 Zapier 中运行。

我的 Javascript 技能可能会使我成为“经验丰富但仍是新手”,因此将其转换为在 Zapier 中正确运行已被证明相当困难。我的代码按预期运行,直到我尝试使用 Zapier 的要求重写它。

对于下面的示例,我已将 inputData 替换为“输入”中的虚拟文本。

这是我在 JS 中的工作模型示例:

const input = "Company Name: Shire Homes, Inc. | First Name: Frodo 
| Last Name: Baggins |"
const fout = input.match(/\: (.*?) \|/g)

for (let i = 0; i < fout.length; i++) {
  console.log(fout[i].slice(2, -2))
}

哪些日志:

Shire Homes, Inc. 佛罗多 巴金斯

由于 Zapier 需要返回数据,而不是针对正则表达式遍历每个字符串,我只得到第一个字符串,然后它就停止了。如何重写它以在 Zapier 中正常运行?

我需要将每个迭代作为字符串值返回,因为我将在别处插入数据。

提前致谢!

【问题讨论】:

    标签: javascript zapier


    【解决方案1】:

    好问题!

    您希望对每个匹配项做一些事情并获得结果,而不是仅仅迭代匹配项。最好的方法是使用 .map 函数 (docs)。

    就像你提到的,你需要从整个函数中返回一些东西。有几个选项,你想要什么取决于 Zap 最终会做什么。

    1. 如果您希望输出为单个字符串(例如"Shire Homes, Inc.,Frodo,Baggins")以便一次使用它,那么您需要加入它。
    2. 如果您想单独使用每个项目(例如一个步骤写入“shire”而另一个写入(“frodo”),您会将它们作为数组返回,结果将呈扇形散开。您不太可能想要这个。
    3. 如果您想在后续的 zaps 中单独使用每一个(最可能的选项),那么您需要将其放入一个对象中。

    那么让我们看看代码吧!

    // this is handled by Zapier already, but we need the variable to test it
    const inputData = {text: "Company Name: Shire Homes, Inc. | First Name: Frodo | Last Name: Baggins |"} 
    const rawSegments = inputData.text.match(/\: (.*?) \|/g)
    
    const segments = rawSegments.map(s => s.slice(2, -2))
    
    // probably want to return an object
    
    // option 1
    // return {result: segments.join('')}
    
    // option 2; probably don't want this
    // return segments
    
    // option 3; probably the best, but depends on the data being in the same order every time
    return {
      company: segments[0],
      fname: segments[1],
      lname: segments[2]
    }
    

    那里有一些 JS 速记,但希望它清楚发生了什么。

    【讨论】:

    • 感谢您的详细解答!您的示例确实使事情变得清晰,我将重新审视这一点。然而,在截止日期前,我最终使用了 Zapier 的电子邮件解析器,然后通过 Zapier 将单个键值对作为 webhook 发送到我的 API。 Zapier 将电子邮件解析器作为单独的(免费)工具提供这一事实非常棒。爱我一些Zapier!谢谢,@xavdid!
    猜你喜欢
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 2014-05-29
    相关资源
    最近更新 更多