0
我想在我的項目之一中使用Linq.Js。問題是,我必須應用分組,然後在某些列上使用總和並選擇某些列的第一個。 例如分組並獲取FirstOrDefault LINQ.js
var list = [
{ a: 2, b: 4, c: 1 },
{ a: 2, b: 3, c: 7 },
{ a: 2, b: 3, c: 3 },
{ a: 4, b: 7, c: 5 },
{ a: 7, b: 3, c: 2 },
{ a: 4, b: 1, c: 5 }];
結果將是 組上的B A,和採取的第一個C
a:2,b:10,c:1
a:7,b:3,c:2
a:4,b:1,c:5
的到現在我都試過了,
var aggregatedObject = Enumerable.From(claimForCalculation)
.GroupBy("$.a", null,
function (key, g) {
var result = {
groupedKey: key,
chargedQty: g.Sum("$.b"),
chargedRate: g.FirstOrDefault("$.c"),
}
return result;
}, function (x) { return x }).ToArray();
但它不工作。
嘿@jeff,它的作品。還有一個問題,如果我們在執行分組後可以做一些計算,我們可以在同一個查詢中完成。例如我們得到了以上輸出a:2,b:10,c:1 a:7,b:3,c:2 a:4,b:2,c:5。現在對於每個行項目,如果我們想檢查c> 3,那麼執行C * b作爲d else,它將是c。邏輯輸出爲a:2,b:10,c:1,d:1 a:7,b:3,c:2,d:2 a:4,b:2,c:5 :d:10 – Rajesh