flutter 根據(jù)參數(shù)的首字母進(jìn)行排序重組

后面在請(qǐng)求加密中要用到,特此記錄一下

1.工具類

 /// 根據(jù)request參數(shù)的key進(jìn)行排序,并生成一個(gè)新的map返回
  static Map<String, String> keySort(Map<String, String> oldParamsMap) {
    Map<String, String> newParamsMap = Map();
    List<String> oldKeys = oldParamsMap.keys.toList();
    if (oldKeys.isEmpty) return newParamsMap;
    oldKeys.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;
    });
    print(oldKeys);
    for (int i = 0; i < oldKeys.length; i++) {
      newParamsMap[oldKeys[i]] = oldParamsMap[oldKeys[i]];
    }
    return newParamsMap;
  }

2.測(cè)試

  void _paramsSort(){
    Map<String,String> params = Map();
    params["pageId"] = "1";
    params["pageSize"] = "10";
    params["sort"] = "1";
    params["goodsId"] = "053453";
    params["ablout"] = "測(cè)試";
    params["zoom"] = "145";
    params["boot"] = "spring";
    Map<String,String> newParams = Utils.keySort(params);
    print("排序后的map:${json.encode(newParams)}");
  }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容