Arrays 如何对数组对象进行分组和排序

Arrays 如何对数组对象进行分组和排序,arrays,angular,typescript,sorting,group-by,Arrays,Angular,Typescript,Sorting,Group By,我正在用TypeScript写一个应用程序 我使用的JSON数组如下: data = [{"name":"dog", "line":1, "order":1}, {"name":"cet", "line":1, "order":2}, {&qu

我正在用TypeScript写一个应用程序 我使用的JSON数组如下:

data = [{"name":"dog",
            "line":1,
"order":1},
            {"name":"cet",
            "line":1,
"order":2},
            {"name":"red",
            "line":2,
"order":1},
            {"name":"green",
            "line":2,
"order":2},
            {"name":"elephant",
            "line":1,
"order":3}]
我想按“行”对数组进行分组,并按升序排序 “行”中的每个对象按“顺序”排序,并显示在HTML页面上,这样每个“行”将位于单独的行中

<div *ngFor="let d of data" >
   <div *ngFor="" class= "row">
      <span >{{d.name}}</span>
   <div> 
<div> 

{{d.name}
分组、排序然后查看的最佳方式是什么?

如果我是你(如果我理解正确),我会使用
.reduce()
方法对元素进行分组,然后对每个结果数组进行排序,最后创建一个要迭代的条目数组

分组和排序可能如下所示:

const data=[{“name”:“dog”,“line”:1,“order”:1},
{“名称”:“cet”,“行”:1,“顺序”:2},
{“名称”:“红色”,“线条”:2,“顺序”:1},
{“name”:“green”,“line”:2,“order”:2},
{“名称”:“象”,“线”:1,“顺序”:3}];
const GROUBLED=数据减少((分辨率,当前)=>{
res[curr.line]=res[curr.line]| |[];
res[当前行]。推送(当前);
返回res;
}, {});
for(对象值的常量组(分组)){
分组排序((a,b)=>a.order-b.order);
}
常量项=对象项(分组);

控制台日志(条目)您希望最终的数据结构是什么样的?如何在组标题中添加更多字段?例如,如果我也想在这里显示顺序:{{e[0]}{{order也在这里???}