TS 反向布尔排序



我在布尔排序方面遇到了问题 我有这个功能

sortExt() {
this.usersChoose.sort(function(a, b) {
return a.EXT - b.EXT
})
}

用这个btn打电话

<button class="btn btn-info" (click)="sortExt()">Filter</button>

我想像这样反转我的排序

sortExt() {
this.usersChoose.sort(function(a, b) {
return b.EXT - a.EXT
})
}

但我不知道我能做什么 谢谢

sortExt() {
this.usersChoose.sort(function(a, b) {
// true values first
return (a.EXT === b.EXT)? 0 : a.EXT ? -1 : 1;
// false values first
// return (a.EXT === b.EXT)? 0 : a.EXT ? 1 : -1;
})}

我找到了一个可能的解决方案,我已经像这样更新了我的函数。我不知道这是否是最好的解决方案,但它是工作。

sortExt(order) {
this.usersChoose.sort(function(a, b) {
if(order == "asc") {
return (a.EXT === b.EXT)? 0 : a.EXT ? -1 : 1;
} else {
return (a.EXT === b.EXT)? 0 : a.EXT ? 1 : -1;
}
})
if(order == "desc") {
document.getElementById('filterIntExt').addEventListener("click", (e:Event) => this.sortExt('asc'));
} else {
document.getElementById('filterIntExt').addEventListener("click", (e:Event) => this.sortExt('desc'));
}
}

最新更新