如何实现排序不仅可以增加,还可以减少? 以下是只能通过向上名称和标识符对其进行排序的代码。 如何更改它以便仍然可以按降序排序?
sortType(sort: string){
if(sort === 'id') {
this.projects = this.projects.sort(this.sortByID);
console.log(this.projects);
}
if(sort === 'name') {
this.sprWellpads = this.projects.sort(this.sortByName);
console.log(this.projects);
}
}
sortByName(a: Project, b: Project){
if(a.name > b.name) return 1
else if (a.name == b.name)return 0
else return -1
}
sortByID(a: Project, b: Project){
return parseInt(a.id.toString())-parseInt(b.id.toString());
}
HTML:
<a class="sorting" (click)="sortType('id')" [class.active]="sortBy === 'id'" ><a class="title">ID⬇</a></a>
<a class="sorting" (click)="sortType('name')" [class.active]="sortBy === 'name'"><a class="title">Name⬇</a></a>
答案 0 :(得分:1)
使用TypeScript订购对象数组:
let values = ["B_Value", "C_Value", "A_Value"];
// Ascending
values.sort((a,b) => 0 - (a > b ? -1 : 1));
// Descending
values.sort((a,b) => 0 - (a > b ? 1 : -1));