[英]How to sort array of object by key?
我嘗試了這種方法:
if (field == 'age') {
if (this.sortedAge) {
this.fltUsers.sort(function (a, b) {
if (b.totalHours > a.totalHours) {
return 1;
}
});
this.sortedAge = false;
} else {
this.sortedAge = true;
this.fltUsers.sort(function (a, b) {
if (b.totalHours < a.totalHours) {
return 1;
}
});
}
}
所以我有對象數組。 每個對象都有屬性: totalHours
。
單擊后,我需要通過desc / asc對該字段進行totalHours
,此字段totalHours
。
我的代碼不起作用。
對於像您這樣的簡單比較器,我通常遵循1行規則,因此我會像這樣修改它
this.fltUsers.sort((a,b) => b.totalHours < a.totalHours ? 1 : -1);
您至少需要返回1
和-1
才能使比較器邏輯正常工作。
此代碼必須對數組進行排序。
function compare(a,b) {
if (b.totalHours < a.totalHours)
return -1;
if (b.totalHours > a.totalHours)
return 1;
return 0;
}
objects.sort(compare);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.