js实现城市名称拼音索引

原创 2016年08月30日 15:07:33

来到新的项目组快两个月的时间了,今天开需求分析电话会议时;业务提出来根据拼音进行城市姓名索引的需求。所以自己编写了一个方法进行从后台得到的json数据进行一个按照城市首写字母的城市索引!代码如下:

$rootScope.getLastCityList = function(list){
      var scope = this;
      if(list){
         var TheTempCityList = new Array();
         for(var i=0;i<list.length;i++){
            for(var j=0;j<list[i].cityModelList.length;j++){
               TheTempCityList.push(list[i].cityModelList[j]);
            }
         }
         //过滤出所有的城市列表
         var AObjectList=[];
         var BObjectList=[];
         var CObjectList=[];
         var DObjectList=[];
         var EObjectList=[];
         var FObjectList=[];
         var GObjectList=[];
         var HObjectList=[];
         var IObjectList=[];
         var JObjectList=[];
         var KObjectList=[];
         var LObjectList=[];
         var MObjectList=[];
         var NObjectList=[];
         var OObjectList=[];
         var PObjectList=[];
         var QObjectList=[];
         var RObjectList=[];
         var SObjectList=[];
         var TObjectList=[];
         var UObjectList=[];
         var VObjectList=[];
         var WObjectList=[];
         var XObjectList=[];
         var YObjectList=[];
         var ZObjectList=[];
         var AObject = {
            "cityFlagName":"A",
            "cityFlagNameList":AObjectList
         };
         var BObject = {
            "cityFlagName":"B",
            "cityFlagNameList":BObjectList
         };
         var CObject = {
            "cityFlagName":"C",
            "cityFlagNameList":CObjectList
         };
         var DObject = {
            "cityFlagName":"D",
            "cityFlagNameList":DObjectList
         };
         var EObject = {
            "cityFlagName":"E",
            "cityFlagNameList":EObjectList
         };
         var FObject = {
            "cityFlagName":"F",
            "cityFlagNameList":FObjectList
         };
         var GObject = {
            "cityFlagName":"G",
            "cityFlagNameList":GObjectList
         };
         var HObject = {
            "cityFlagName":"H",
            "cityFlagNameList":HObjectList
         };
         var IObject = {
            "cityFlagName":"I",
            "cityFlagNameList":IObjectList
         };
         var JObject = {
            "cityFlagName":"J",
            "cityFlagNameList":JObjectList
         };
         var KObject = {
            "cityFlagName":"K",
            "cityFlagNameList":KObjectList
         };
         var LObject = {
            "cityFlagName":"L",
            "cityFlagNameList":LObjectList
         };
         var MObject = {
            "cityFlagName":"M",
            "cityFlagNameList":MObjectList
         };
         var NObject = {
            "cityFlagName":"N",
            "cityFlagNameList":NObjectList
         };
         var OObject = {
            "cityFlagName":"O",
            "cityFlagNameList":OObjectList
         };
         var PObject = {
            "cityFlagName":"P",
            "cityFlagNameList":PObjectList
         };
         var QObject = {
            "cityFlagName":"Q",
            "cityFlagNameList":QObjectList
         };
         var RObject = {
            "cityFlagName":"R",
            "cityFlagNameList":RObjectList
         };
         var SObject = {
            "cityFlagName":"S",
            "cityFlagNameList":SObjectList
         };
         var TObject = {
            "cityFlagName":"T",
            "cityFlagNameList":TObjectList
         };
         var UObject = {
            "cityFlagName":"U",
            "cityFlagNameList":UObjectList
         };
         var VObject = {
            "cityFlagName":"V",
            "cityFlagNameList":VObjectList
         };
         var WObject = {
            "cityFlagName":"W",
            "cityFlagNameList":WObjectList
         };
         var XObject = {
            "cityFlagName":"X",
            "cityFlagNameList":XObjectList
         };
         var YObject = {
            "cityFlagName":"Y",
            "cityFlagNameList":YObjectList
         };
         var ZObject = {
            "cityFlagName":"Z",
            "cityFlagNameList":ZObjectList
         };
         //将字母不同的城市,分别装进不同的对象
         for(var k=0;k<TheTempCityList.length;k++){
            switch(TheTempCityList[k].cityFlag){
               case 'a':
               case 'A':
                  AObjectList.push(TheTempCityList[k]);
                  break;
               case 'b':
               case 'B':
                  BObjectList.push(TheTempCityList[k]);
                  break;
               case 'c':
               case 'C':
                  CObjectList.push(TheTempCityList[k]);
                  break;
               case 'd':
               case 'D':
                  DObjectList.push(TheTempCityList[k]);
                  break;
               case 'e':
               case 'E':
                  EObjectList.push(TheTempCityList[k]);
                  break;
               case 'f':
               case 'F':
                  FObjectList.push(TheTempCityList[k]);
                  break;
               case 'g':
               case 'G':
                  GObjectList.push(TheTempCityList[k]);
                  break;
               case 'h':
               case 'H':
                  HObjectList.push(TheTempCityList[k]);
                  break;
               case 'i':
               case 'I':
                  IObjectList.push(TheTempCityList[k]);
                  break;
               case 'j':
               case 'J':
                  JObjectList.push(TheTempCityList[k]);
                  break;
               case 'k':
               case 'K':
                  KObjectList.push(TheTempCityList[k]);
                  break;
               case 'l':
               case 'L':
                  LObjectList.push(TheTempCityList[k]);
                  break;
               case 'm':
               case 'M':
                  MObjectList.push(TheTempCityList[k]);
                  break;
               case 'n':
               case 'N':
                  NObjectList.push(TheTempCityList[k]);
                  break;
               case 'o':
               case 'O':
                  OObjectList.push(TheTempCityList[k]);
                  break;
               case 'p':
               case 'P':
                  PObjectList.push(TheTempCityList[k]);
                  break;
               case 'q':
               case 'Q':
                  QObjectList.push(TheTempCityList[k]);
                  break;
               case 'r':
               case 'R':
                  RObjectList.push(TheTempCityList[k]);
                  break;
               case 's':
               case 'S':
                  SObjectList.push(TheTempCityList[k]);
                  break;
               case 't':
               case 'T':
                  TObjectList.push(TheTempCityList[k]);
                  break;
               case 'u':
               case 'U':
                  UObjectList.push(TheTempCityList[k]);
                  break;
               case 'v':
               case 'V':
                  VObjectList.push(TheTempCityList[k]);
                  break;
               case 'w':
               case 'W':
                  WObjectList.push(TheTempCityList[k]);
                  break;
               case 'x':
               case 'X':
                  XObjectList.push(TheTempCityList[k]);
                  break;
               case 'y':
               case 'Y':
                  YObjectList.push(TheTempCityList[k]);
                  break;
               case 'z':
               case 'Z':
                  ZObjectList.push(TheTempCityList[k]);
                  break;
            }
         }
         //将最终的城市对象,装进想要的城市列表
         var TheLastCityList = [AObject,BObject,CObject,DObject,EObject,FObject,GObject,
            HObject,IObject,JObject,KObject,LObject,MObject,NObject,
            OObject,PObject,QObject,RObject,SObject,TObject,
            UObject,VObject,WObject,XObject,YObject,ZObject];
         var FilterLastCityList = new Array();
         for(var i=0;i<TheLastCityList.length;i++){
            if(TheLastCityList[i].cityFlagNameList.length>0){
               FilterLastCityList.push(TheLastCityList[i]);
            }
         }
         scope.TheLastCityList = FilterLastCityList;
      }
   };
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

js 类似微信索引列表移动

点击有索引 div移动到指定位置

JS获取中文拼音首字母,并通过拼音首字母快速查找页面内的中文内容

实现效果:图一:图二:此例中输入的中文字符串“万万保重”,有三个字是多音字,所以alert对话框中显示的是多种读音的组合;如何实现?如何实现通过拼音首字母快速查找页面内的中文内容呢?过程原理是这样的:...

JS对省市按首字母排序

/** * 省市拼音排序 */ function pySegSort(arr, empty) { if(!String.prototype.localeCompare) r...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

用JS实现点击列表弹出列表索引的两种方式

用JS实现点击列表弹出列表索引的两种方式,方式一,使用利用事件冒泡委托给列表的父节点去处理的方式:代码如下:   方式一,使用利用事件冒泡委托给列表的父节点去处理的方式:     代码如下:...

城市列表-根据拼音首字母排序

今天我们就简单的实现一下城市的排序 读取我们城市的信息并通过listview展示 首先看一下我们的布局文件...
  • Mannver
  • Mannver
  • 2016年05月04日 15:47
  • 6167

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

js实现点击<li>标签弹出其索引值

据说这是一道笔试题,一下是代码,没什么要文字叙述的:

mui的索引列表插件-增加热门城市

mui的索引列表插件的使用:动态数据绑定以及顶部搜索 并增加热门城市       页面中需要引入的文件。搜索框的样式移动到了header部分了。搜索框搜索完内容之后再点击清除按钮,然后点击字母索引会...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js实现城市名称拼音索引
举报原因:
原因补充:

(最多只允许输入30个字)