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

如何在Dart中按单词最后一个字母对列表进行排序?

如何在Dart中按字符串最后一个字母排序列表?

给定如下字符串列表:

List<String> myList = ['Jacob','Jane','Cedric','Angela','Gerald'];

需要按每个单词的最后一个字母进行排序,预期得到结果:

List<String> myList = ['Angela','Jacob','Cedric','Gerald','Jane'];

实现方法

直接使用Dart列表的sort方法,传入自定义比较器即可:

void main() {
  List<String> myList = ['Jacob','Jane','Cedric','Angela','Gerald'];
  // 按最后一个字母排序
  myList.sort((a, b) => a.last.compareTo(b.last));
  print(myList); // 输出: [Angela, Jacob, Cedric, Gerald, Jane]
}

代码说明

  • sort方法接收一个比较函数,该函数返回int类型的值:
    • 返回负数:a排在b前面
    • 返回0:a和b顺序不变
    • 返回正数:a排在b后面
  • a.last获取字符串的最后一个字符,compareTo方法会按字符的Unicode码点进行比较,符合字母排序的需求。

处理空字符串(可选)

如果列表中可能包含空字符串,可以在比较器中添加判断逻辑,比如将空字符串排在最前面:

myList.sort((a, b) {
  if (a.isEmpty) return -1;
  if (b.isEmpty) return 1;
  return a.last.compareTo(b.last);
});

内容的提问来源于stack exchange,提问作者Ebuzer SARIYERLİOĞLU

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:04:54