我编写了一些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());
}
答案 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;
})
所以首先使用现有功能正确过滤。 比你的