sortCity method

List<SectionCity> sortCity(
  1. List<AddressNode> data
)

排序数据

Implementation

List<SectionCity> sortCity(List<AddressNode> data) {
  // 先排序
  data.sort((a, b) => a.letter!.compareTo(b.letter!));
  // 组装数据
  List<SectionCity> sectionList = [];
  String? letter = "A";
  List<AddressNode> cityList2 = [];
  for (int i = 0; i < data.length; i++) {
    if (letter == data[i].letter) {
      cityList2.add(data[i]);
    } else {
      if (cityList2.isNotEmpty) {
        sectionList.add(SectionCity(letter: letter, data: cityList2));
      }
      cityList2 = [];
      cityList2.add(data[i]);
      letter = data[i].letter;
    }
    if (i == data.length - 1) {
      if (cityList2.isNotEmpty) {
        sectionList.add(SectionCity(letter: letter, data: cityList2));
      }
    }
  }
  return sectionList;
}