我有以下C#LINQ查询,我需要将其移植到Angular 2。
var groups = funds.OrderBy(g => g.DefaultGroupName).GroupBy(g => g.DefaultGroupName)
.Select(grp => new { GroupName = grp.Key, Funds = grp.ToList().OrderBy(f => f.ZOrder) });
这是我目前所拥有的(不起作用)。如您所见,我是Angular的新手,因此非常感谢您的帮助或指导。
// get the list of funds, grouped by Default Group Name
getFundGroups(): Observable<FundGroup[]> {
const url = this.baseUrl;
const funds = this.http.get(url)
.map(response => <Fund[]>response.json())
.catch(this.handleError);
const groups = funds.groupBy(fund => fund.DefaultGroupName)
.flatMap(group => group.reduce((a, b) => [...a, ...b], []));
return groups;
}
最佳答案
您可以使用LINQ for Angular
https://github.com/Angular-Public/ng2-linq
import * as Enumerable from 'linq';
然后在您的函数中可以编写如下内容。
let groups = Enumerbable.from(funds).where(x => x.Active);