2017-04-26 6 views
0

私はMixPanelのJQL言語を使用できるようにいくつかのjavascriptコードを書いています。JavaScriptでワイルドカードを使用して実際の値を返す

*が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

あなたがreturn代わりのfilterにしたい場合は、機能.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; 
}) 

まず、既存の機能を使用して正しくフィルタリングします。 より

関連する問題