使用带有javascript的通配符来返回实际值

时间:2017-04-26 22:59:55

标签: javascript mixpanel jql

我编写了一些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());
}

1 个答案:

答案 0 :(得分:0)

如果您想要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;
})

所以首先使用现有功能正确过滤。 比你的