我想知道如何只制作一個函式來對陣列的列進行排序。目前我對每一列都有很多這樣的功能:
sort() {
if (this.sortAsc == false) {
this.tab.sort((a, b) => {
return a.name.localeCompare(b.name);
});
this.sortAsc = true;
} else {
this.tab.sort((a, b) => {
}
return b.name.localeCompare(a.name);
});
this.sortAsc = false;
}
}
一張桌子:
...
<tr>
<th (click)="sort()">Name</th>
...
</tr>
</thead>
<tbody>
<tr *ngFor="let item of tab" (click)="getById(item.id)" tabindex="0">
<td> {{ item.name }} </td>
...
</tr>
...
uj5u.com熱心網友回復:
您可以添加一個引數進行排序,例如您想要排序的變數的名稱: sort('name') 在 sort 函式中,您可以使用該引數來區分您想要排序的內容。
sort(val: string) {
if(!this.sortAsc) {
this.tab.sort((a,b) => {
return a[val].localeCompare(b[val]);
});
this.sortAsc = true;
}
...
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/370084.html
