在 pnp js 中无法使用 GroupBy,因为它不存在。
但是,您可以在 javascript 中获取数据后对数据进行分组。
例如,您有一些接口来存储结果数据,如下所示:
interface IData{
Id: number;
Title: string;
}
interface IGroups{
Title: string;
Ids: number[];
}
在获得请求响应后,您将创建对象数组
let result: IData[] = [];
query.then((items)=>{
items.map((item)=>{
result.push({Id: item.ID, Title: item.Title});
});
});
在此之后,您将获得未分组的数据,您可以通过过滤对其进行分组:
let groups: IGroups[] = [];
result.map((item)=>{
//get only titles for grouping
return item.title;
}).filter((value, index, self)=>{
//get unique values
return self.indexOf(value)===index
}).map((item)=>{
//Here you get distinct title - you groups
//and creating groups
groups.push({
Title: item,
Ids: result.filter((r)=>{return r.title === item})
});
});