Flutter之map排序

有個需求需要對map里面的數(shù)據(jù)按照key的首字母排序。
網(wǎng)上搜到的解決辦法:

List<String> keys = map.keys.toList();
    // key排序
    keys.sort((a, b) {
      List<int> al = a.codeUnits;
      List<int> bl = b.codeUnits;
      for (int i = 0; i < al.length; i++) {
        if (bl.length <= i) return 1;
        if (al[i] > bl[i]) {
          return 1;
        } else if (al[i] < bl[i]) return -1;
      }
      return 0;
    });

但是以前代碼僅僅是把map中的key按照字母排序生成了一個新的List。
還需要進行一步操作才能實現(xiàn)我們的需求:

//new一個map按照keys的順序?qū)⒃鹊膍ap數(shù)據(jù)取出來就可以了。
var treeMap = Map();
    keys.forEach((element) {
      treeMap[element] = map[element];
    });
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容