Linq.js Sum里面的地方

时间:2016-12-21 17:06:08

标签: javascript linq.js

有没有办法用LIN过滤Linq.JS?

我的尝试:

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

错误:

  

linq.js:未捕获的TypeError:$$。Sum不是函数

1 个答案:

答案 0 :(得分: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;
};