Я пытаюсь группу на 2 колонки, и суммируют третий столбец, как показано здесь (paligap ответ) - linqjs group by with a sumlinq.js GroupBy на несколько столбцов с Sum
Мой код -
var linq = Enumerable.From(treedata);
var result2 = linq
.Where(x => x.GlPartnerLevel2 != null)
.GroupBy(
"{ Gl1: $.GlPartnerLevel1 , Gl2: $.GlPartnerLevel2,}",
null,
function (key, g) {
var result = {
Name: key.Gl2,
ParentName: key.Gl1,
Value: g.Sum(function (y) { return y.Value | 0; })
}
return result;
})
.ToArray();
console.log('result2', result2);
Однако, хотя он, кажется, почти работает, я получаю массив из 17 вместо 2 - так что группировка, возможно, немного выключена?
Что я делаю неправильно?
Fiddle со всем кодом и данными здесь- http://jsfiddle.net/e3Lu9Lcs/2/
Brilliant, Вы качаться. Скрипка, конечно, работает, и выглядит как более элегантный способ приблизиться к ней ... – Pundit
Я возвращаю свое предложение об использовании 'JSON.stringify', я не знаю, было бы оно очень надежным в целом. К счастью, ключ достаточно прост. –
Хм ... Хорошо, тогда в этом случае я поеду с селекторной версией сравнения. Спасибо за мысль! – Pundit