angular8实现对象数组根据某个属性排序(多个也可以)
生活随笔
收集整理的這篇文章主要介紹了
angular8实现对象数组根据某个属性排序(多个也可以)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼中col是傳進來的對象的屬性名
toLowerCase()將字符串轉換為小寫。
arrayInfos是數組,存儲的是對象
這里我是配上一個上下切換的箭頭使用的,點擊切換上下方向并且排序
sort方法排序操作的是原始數組
如果在屬性相等的情況下,想根據另外字段排序就傳入兩個參數多寫個if(c == d) {if(e>f) return -1}
<th width="10%" (click)="sort('type')">類型 <span *ngIf="checked"> ▼</span> <span *ngIf="!checked"> ▲</span> </th> checked:boolean = true; sort(col:string){if (this.checked) {this.arrayInfos.sort(this.sortByDesc(col));}else {this.arrayInfos.sort(this.sortByAsc(col));}this.checked= !this.checked;} sortByDesc(col:string) { //降序console.log(col+"降序");return function(a, b){var c = a[col].toLowerCase();var d = b[col].toLowerCase();if (c < d){return -1;}}} sortByAsc(col:string) { //升序console.log(col+"升序");return function(a, b){var c = a[col].toLowerCase();var d = b[col].toLowerCase();if (c > d){return -1;}}}總結
以上是生活随笔為你收集整理的angular8实现对象数组根据某个属性排序(多个也可以)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全球第一位“半机械人”去世 曾为对抗绝症
- 下一篇: mq集群要建传输队列吗_面试官:消息队列