Java教程

[算法] 国家地区数组按照中文首字母排序

本文主要是介绍[算法] 国家地区数组按照中文首字母排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

安装   js-pinyin

安装   underscore.js

 // 分组排序
    groupBySort(list) {
      const groupObj = _.groupBy(list, function(item) { return String(pinyin.getFullChars(item.countryName)).slice(0, 1) })
      let listNew = []
      for (let i = 65; i <= 90; i++) {
        const arr = groupObj[ String.fromCharCode(i)]
        if (arr) {
          listNew = listNew.concat(this.groupBySort2(arr, 1, 2))
        }
      }
      return listNew
    },
    groupBySort2(list, index1, index2) {
      const groupObj = _.groupBy(list, function(item) {
        return String(pinyin.getFullChars(item.countryName)).slice(index1, index2)
      })
      let listNew = []
      // 先装大写
      for (let i = 65; i <= 90; i++) {
        const arr = groupObj[ String.fromCharCode(i)]
        if (arr) {
          listNew = listNew.concat(arr)
        }
      }
      // 再装小写
      for (let i = 97; i <= 122; i++) {
        const arr = groupObj[ String.fromCharCode(i)]
        if (arr) {
          listNew = listNew.concat(this.groupBySort2(arr, index1 + 1, index2 + 1))
        }
      }
      return listNew
    },

 

这篇关于[算法] 国家地区数组按照中文首字母排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!