首页 > 解决方案 > 如何在 Flutter 中对列表进行排序

问题描述

如何对名称按字母顺序排序的 id 和名称列表进行排序。

List employees = [
    [1, "Deshawn O'Connell"],
    [2, "Aurore Kuvalis"],
    [3, "Louvenia Rapid"],
    [4, "Missouri Crooks"],
    [5, "Kylie Krajcik Jr."]
  ];

这样我得到的输出为

    [2, "Aurore Kuvalis"],
    [1, "Deshawn O'Connell"],
    [5, "Kylie Krajcik Jr."],
    [3, "Louvenia Rapid"],
    [4, "Missouri Crooks"],

标签: androidflutterdart

解决方案


使用 and 的sort函数List传入一个排序函数,该函数比较每个子列表的第二个元素(索引 1)。

void main() {
  List employees = [
    [1, "Deshawn O'Connell"],
    [2, "Aurore Kuvalis"],
    [3, "Louvenia Rapid"],
    [4, "Missouri Crooks"],
    [5, "Kylie Krajcik Jr."]
  ];
  employees.sort((list1, list2) => list1[1].compareTo(list2[1]));
  print(employees);
}

//Output:
//[[2, Aurore Kuvalis], [1, Deshawn O'Connell], [5, Kylie Krajcik Jr.], [3, Louvenia Rapid], [4, Missouri Crooks]]

推荐阅读