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