【问题标题】:How to output a JavaScript code in Zapier Code properly如何在 Zapier Code 中正确输出 JavaScript 代码
【发布时间】:2022-01-15 02:57:46
【问题描述】:

我有一个 Zap,每次生成新的 Facebook LeadAd 时都会触发它。 在第二步中,我创建了一个 JS 代码,以将前导的某些字段(广告集名称 + 术语)与具有过滤功能的对象数组中的对象的属性相匹配。

例子:

let campaign = inputData.adset_name + inputData.term;

let logic = [
        {
            Campaign: "Adsetname+term",
            Doctors: "Name 1 - Name 2",
            ID: "xxxxxxxx - yyyyyyyy",
            Count: "2",
            Zone: "Neighborhood",
            UF: "City"
        }
//There's a lot of these objects inside the array with other data.
]

let filtro = logic.filter(x => {
    return x.Campaign === campaign;
});


output = [
  {
    ID: filtro.ID,
    UF: filtro.UF,
    Count: filtro.Count
  }
];

这里的主要目标是将传入的广告集名称+术语与数组中已确定对象的广告集名称+术语匹配,因此它将返回链接到该特定对象的其他信息。

但是代码没有将任何信息输出到这个创建的对象中。它运行没有错误,bur没有返回对象的数据。

Result of the step test

你知道我做错了什么吗?

【问题讨论】:

    标签: javascript arrays output zapier


    【解决方案1】:

    在您的代码中,filtro 设置为过滤后的对象数组:

    filtro = [
      {ID: 'asdf', UF: 'qwer'}
    ]
    

    在您的输出中,您访问的是filtro.ID,即undefinedArray 没有 ID 属性。

    相反,您可能需要IDUFCount 用于filtro 中的每个 项。在这种情况下,您可以使用Array.map 函数:

    output = filtro.map(item => {
      return {
        ID: item.ID,
        UF: item.UF,
        Count: item.Count
      }
    })
    

    这将返回一个对象数组。如果此代码是一个操作(而不是触发器),则后续的 zap 步骤将为您返回的每个项目运行。请参阅these docs 了解更多信息。

    【讨论】:

    • 非常感谢@xavdid!!!我只是通过返回函数 filtro 而不是创建输出来解决问题。 ``` let filtro = logic.filter(x => { return x.Campaign === 活动; });返回过滤器; ``` 这已经让我得到了我需要的对象及其属性.. :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 2018-05-02
    • 2016-08-24
    • 2020-02-09
    • 1970-01-01
    • 2018-07-05
    相关资源
    最近更新 更多