【问题标题】:Using wildcards with javascript to return actual values使用带有 javascript 的通配符返回实际值
【发布时间】:2017-09-24 13:09:09
【问题描述】:

我编写了一些 javascript 代码,以便可以使用 MixPanel 的 JQL 语言。

下面的代码不起作用,因为 * 不是 Javascript 中的通配符。但我已将其包含在内以显示我想要通配符的位置。

我知道我可以使用 indexOf() 函数和 startsWith(),但它们本质上只是返回 true/false。我怎样才能返回实际值?

function main() {
  return Events({
    from_date: '2017-03-01',
    to_date:   '2017-03-31'
  })
      .filter(function(event) { return event.name == "PartsViewed" })
      .filter(function(event){
        return event.properties.PartName =="LTC3784*" && event.properties.PartName == "1EDI60N*";
    })
  .groupBy(["properties.manufacturer"], mixpanel.reducer.count());
}

【问题讨论】:

    标签: javascript mixpanel jql


    【解决方案1】:

    如果你想return 而不是filter,你需要函数.map。 map 函数返回您定义的内容,而 filter 仅过滤数组而不修改输出。

    array
    .filter(function(event){
        let name = event.properties.PartName;
        return name.startsWith("LTC3784") || name.startsWith("1EDI60N");
    })
    .map(function(event) {
        return event.properties.PartName;
    })
    

    因此,首先您要使用现有功能正确过滤。 比你的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-17
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      • 1970-01-01
      • 2015-04-23
      相关资源
      最近更新 更多