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