You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中按类的List类型likes属性长度排序问题求助

问题解决:按likes列表长度排序数组

你的代码无效的核心原因是:你通过map生成了一个只包含likes长度的新列表,后续的sort操作只对这个新列表生效,原data数组根本没被修改,所以看不到排序效果。

正确实现方式

1. 直接修改原数组排序(降序)

data.sort((a, b) => b.likes.length.compareTo(a.likes.length));

如果需要升序,把比较逻辑换成a.likes.length.compareTo(b.likes.length)即可。

2. 生成排序后的新数组(不改动原数组)

如果不想修改原data数组,可以先复制原数组再排序:

final sortedData = List.of(data)
  ..sort((a, b) => b.likes.length.compareTo(a.likes.length));

内容的提问来源于stack exchange,提问作者fatih yılmaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 12:11:59