有没有办法用LIN过滤Linq.JS?
我的尝试:
var query = Enumerable
.From(self.data())
.Where("$$.Sum($.percent) > 100")
.ToArray();
错误:
linq.js:未捕获的TypeError:$$。Sum不是函数
答案 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;
};