Angular 如何在typescript中重新排列表的序列号

Angular 如何在typescript中重新排列表的序列号,angular,typescript,sorting,Angular,Typescript,Sorting,我有一个Angular8应用程序,其中一个组件有一个包含以下数据的素数表,每行有一个序列号列 tableData = [{id:1465,seqNum:1,name:Maths,desc:Mathematics},{id:1466,seqNum:2,name:Eng,desc:English},{id:1467,seqNum:3,name:Bio,desc:Biology},{id:1468,seqNum:4,name:Chem,desc:Chemistry},{id:1469,seqNum:5

我有一个Angular8应用程序,其中一个组件有一个包含以下数据的素数表,每行有一个序列号列

tableData = [{id:1465,seqNum:1,name:Maths,desc:Mathematics},{id:1466,seqNum:2,name:Eng,desc:English},{id:1467,seqNum:3,name:Bio,desc:Biology},{id:1468,seqNum:4,name:Chem,desc:Chemistry},{id:1469,seqNum:5,name:Phys,desc:Physics}]
我想将任何序列号更新为列表中的特定序列号,以便这两个值之间的序列号也相应地更新

例如,初始表数据如下所示

tableData = [{id:1465,seqNum:1,name:Maths,desc:Mathematics},{id:1466,seqNum:2,name:Eng,desc:English},{id:1467,seqNum:3,name:Bio,desc:Biology},{id:1468,seqNum:4,name:Chem,desc:Chemistry},{id:1469,seqNum:5,name:Phys,desc:Physics}]
tableData = [{id:1465,seqNum:1,name:Maths,desc:Mathematics},{id:1469,seqNum:2,name:Phys,desc:Physics}{id:1466,seqNum:3,name:Eng,desc:English},{id:1467,seqNum:4,name:Bio,desc:Biology},{id:1468,seqNum:5,name:Chem,desc:Chemistry}]
如果我将seqNum:2更改为5,那么该表应该更新如下

tableData = [{id:1465,seqNum:1,name:Maths,desc:Mathematics},{id:1466,seqNum:2,name:Eng,desc:English},{id:1467,seqNum:3,name:Bio,desc:Biology},{id:1468,seqNum:4,name:Chem,desc:Chemistry},{id:1469,seqNum:5,name:Phys,desc:Physics}]
tableData = [{id:1465,seqNum:1,name:Maths,desc:Mathematics},{id:1469,seqNum:2,name:Phys,desc:Physics}{id:1466,seqNum:3,name:Eng,desc:English},{id:1467,seqNum:4,name:Bio,desc:Biology},{id:1468,seqNum:5,name:Chem,desc:Chemistry}]
基本上,我想对所选行之间的每一行的序列号字段进行重新排序。在我们的示例中,应该相应地更新第2到第5行的序列号

我有下面关于seqNum列模糊的函数,其中我将获得所选行和整个表数据

updateSeqNbr(selectedRow) { //selectedRow = {id:1466,seqNum:2,name:Eng,desc:English}
this.tableData; //tableData = [{id:1465,seqNum:1,name:Maths,desc:Mathematics}{id:1466,seqNum:2,name:Eng,desc:English},{id:1467,seqNum:3,name:Bio,desc:Biology}, {id:1468,seqNum:4,name:Chem,desc:Chemistry},{id:1469,seqNum:5,name:Phys,desc:Physics}]

// logic

}

如何在序列号更改的情况下获取更新的tableData?

看起来像是在按各自的位置交换数组元素。此外,您还必须特别更改
seqNum
。创建一个管道来对数据进行排序: