2016-12-21 10 views
0

Linq.JSでSUMをフィルタリングする方法はありますか?Linq.jsここでの合計

私の試み:

var query = Enumerable 
      .From(self.data()) 
      .Where("$$.Sum($.percent) > 100") 
      .ToArray(); 

エラー:ここ

linq.js: Uncaught TypeError: $$.Sum is not a function

+0

あなたはおそらく最初の合計を計算する必要がありますし、次にフィルタリングを行います。 –

+0

@Haroldo_OKありがとう、私はそれをやった。 –

答えて

0

は、私が使用して解くコードです:

self.validatePercentualSumOfItens =() => { 
    const sumOfGroupedItens = Enumerable 
      .From(self.dadosCobranca().configuracoes()) 
      .Where("$.idAgrupadorRateio != null && $.idAgrupadorRateio != -1") 
      .GroupBy("{ idAgrupadorRegra: $.idAgrupadorRegra, 
         idAgrupadorRateio: $.idAgrupadorRateio 
        }", 
        "parseFloat($.percentualRateio)", 
        "{ idAgrupadorRegra: $.idAgrupadorRegra, 
         idAgrupadorRateio: $.idAgrupadorRateio, 
         total: parseFloat($$.Sum()).toFixed(2) 
        }", 
        "$.idAgrupadorRegra + '-' + $.idAgrupadorRateio") 
      .ToArray(); 

    const itensThatNotMatchAHundred = Enumerable 
           .From(sumOfGroupedItens) 
           .Where("$.total < 100 || $.total > 100") 
           .ToArray(); 

    return itensThatNotMatchAHundred.length; 
}; 
関連する問題