首页 > 解决方案 > 如何对 Dart 列表中的奇数和偶数进行排序

问题描述

无法弄清楚如何做到这一点。

我使用 sort() 和 compareTo() 来按一个标准对列表进行升序排序,但我需要使用第二个标准对其进行排序,将奇数保留在列表的开头。

widget.tasks.sort((a,b){
          return a.key.compareTo(b.key);
        });

上面的代码只是对列表的属性之一进行排序。需要对第二个整数进行排序。

标签: listsortingdart

解决方案


这是工作示例复制代码并运行

 List numlist = [1, 2, 3, 4, 5, 6, 7, 9, 10];

  List oddList = [];
  List evenList = [];
  List firstOddThenEven = [];

  for (final i in numlist) {
    if (i.isEven) {
      evenList.add(i);
    } else if (i.isOdd) {
      oddList.add(i);
    }
  }

  firstOddThenEven.addAll(oddList);
  firstOddThenEven.addAll(evenList);
  print(firstOddThenEven);

推荐阅读