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

Flutter/Dart 列表排序后如何返回全部元素而非单个元素的问题求解

解决方案

你只需要修改方法的返回值类型,以及最终返回的内容即可,修改后代码如下:

static List<NavigationalCatalogDto> getLatestVersionCatalog(
    List<NavigationalCatalogDto> navigationalCatalogList) {
      navigationalCatalogList.sort((b, a) => a.version!.compareTo(b.version!));
      return navigationalCatalogList;
    }

改动说明

  • 方法返回值从单个NavigationalCatalogDto对象调整为List<NavigationalCatalogDto>列表类型,匹配返回全量排序元素的需求
  • 原逻辑仅返回排序后列表的第一个元素,现在直接返回完整的排序后列表

可选优化

原实现中sort方法会直接修改传入的原始列表对象,如果你不希望改动入参的原始排序,可以先拷贝列表副本再执行排序:

static List<NavigationalCatalogDto> getLatestVersionCatalog(
    List<NavigationalCatalogDto> navigationalCatalogList) {
      // 拷贝列表副本避免修改原入参
      final sortedList = List<NavigationalCatalogDto>.from(navigationalCatalogList);
      sortedList.sort((b, a) => a.version!.compareTo(b.version!));
      return sortedList;
    }

注意:如果入参列表可能为空,原写法取[0]会触发下标越界异常,修改为返回全量列表后,空入参也会正常返回空列表,无需额外判空处理。

内容的提问来源于stack exchange,提问作者Gurjit Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:36:07