簡體   English   中英

如何按 flutter 中的子列表值對列表進行排序?

[英]How to sort list by sub list value in flutter?

我是 flutter 開發人員,我需要幫助解決這個問題

我有一個數組,我想對其進行排序

下面是這個列表的結構:


List myList = [
  {
     'name': 'Max',
     'messages': [
       {
        'time': 133459086,
        'text': 'Hello World!',  
       }
     ],
  },
  {
     'name': 'Wax',
     'messages': [
       {
        'time': 133459083,
        'text': 'Hello !',  
       }
     ],
  },
];

我想通過使用消息中的時間值降序對該 myList 進行排序。

注意:消息數組可能是空的,因此它可能會拋出錯誤 state 沒有元素。

請幫我,

謝謝,

該數據目前無效。

如果messages節點是一個數組,那么它的項目需要包裝在對象中,例如:

'messages': [
  {
    'time': 133459089,
    'text': 'Hello!'
  }
]

如果是這種情況,您需要知道消息中是否只有一個messages項,或者是否可以有多個。

抱歉,我找到了答案:

myList.sort((a,b) => b['messages'].isNotEmpty ? b['messages'].last['time'].compareTo(a['messages'].isNotEmpty ? a['messages'].last['time'] : 0 ) : 0,);

你可以嘗試這樣的事情:

var list = myList..sort((b, a) => a['messages']['time'].compareTo(b['messages']['time']));

print(list);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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