2017-05-23 13 views
0

は、私は私のiterateeにこれを変換するにはどうすればよい私のlodashに_.filterLodashそしてOR論理フィルタで

if (bolMine && !bolUnassigned) 
{ 
    o => o.AssignedDriver == CurrentLoggedOnUser; 
} 
else if (bolMine && bolUnassigned) 
{ 
    o => (o.AssignedDriver == CurrentLoggedOnUser || o.AssignedDriver == 0); 
} 
else if (!bolMine && bolUnassigned) 
{ 
    o => o.AssignedDriver == CurrentLoggedOnUser; 
} 


if (bolExvat) 
{ 
    o => o.ExVatOrder == bolExtVat; 
} 

if(intCategory > 0) 

{ 

    o => o.OrderCategory == intCategory 

} 

をこのロジックを実装したいですか?

this.filteredOrders = _.filter(this.orders, iteratee); 
+0

あなたは '_.filter'(というか、あなたが作成している矢印の機能以外のものに割り当てることはありません)に' o'を渡す方法を求めていますか?あるいは、あなたは '_.filter'に渡す関数にあなたのチャンクを書く方法を教えてください。申し訳ありませんが、私はその質問を理解していません。 –

+0

他のすべての変数はどこから来ていますか? ( 'bolMine'、' bolUnassigned'など)? – kqcef

+0

@kqcefこれはLodashで実装したい擬似コード(アルゴリズム)です。 –

答えて

1
function filterOrders(o) { 
    if (bolMine && !bolUnassigned) 
    { 
     return o.AssignedDriver == CurrentLoggedOnUser; 
    } 
    else if (bolMine && bolUnassigned) 
    { 
     return (o.AssignedDriver == CurrentLoggedOnUser || o.AssignedDriver == 0); 
    } 
    else if (!bolMine && bolUnassigned) 
    { 
     return o.AssignedDriver == CurrentLoggedOnUser; 
    } 


    if (bolExvat) 
    { 
     return o.ExVatOrder == bolExtVat; 
    } 

    if(intCategory > 0) 
    { 
     return o.OrderCategory == intCategory 
    } 
} 

this.filteredOrders = _.filter(this.orders, filterOrders); 
+0

でコードの書き方を教えてください。これは私が必要としたものではありませんが、あなたの考えはfilterOrdersを渡す方法について私の問題を解決しました。ありがとうございました! –

関連する問題