簡體   English   中英

如何按鍵排序對象數組?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM