vue 中根据公司名称(名称有中文名也有英文名)首字母进行A-Z排序

一:需求描述

现在有公司名称数组,其中名称既有中文名也有英文名,需要根据名称首字母进行排序,即不管是中文名还是英文名都必须按第一个字母排,而sort方法只能根据ascll进行排序。

二:需求实现

1.数据

companyList:[{"id":'2',"legalEntityFullName":'色公司'},{"id":'3',"legalEntityFullName":'啊公司'},{"id":'1',"legalEntityFullName":'B公司'}],
commonName:[{"id":'a',"name":'凹'},{"id":'A',"name":'垇'},{"id":'b',"name":'屄'},{"id":'B',"name":'赑'},{"id":'c',"name":'俥'},{"id":'C',"name":'繛'},{"id":'d',"name":'蔕'},{"id":'D',"name":'慸'},{"id":'e',"name":'阸'},{"id":'E',"name":'遻'},{"id":'f',"name":'蒶'},{"id":'F',"name":'酆'},{"id":'g',"name":'敋'},{"id":'G',"name":'韐'},{"id":'h',"name":'澕'},{"id":'H',"name":'麧'},{"id":'i',"name":'覈'},{"id":'I',"name":'癋'},{"id":'j',"name":'卪'},{"id":'J',"name":'幯'},{"id":'k',"name":'緙'},{"id":'K',"name":'艐'},{"id":'l',"name":'餎'},{"id":'L',"name":'鱳'},{"id":'m',"name":'唜'},{"id":'M',"name":'鏌'},{"id":'n',"name":'鬧'},{"id":'N',"name":'檂'},{"id":'o',"name":'藲'},{"id":'O',"name":'鏂'},{"id":'p',"name":'犥'},{"id":'P',"name":'爮'},{"id":'q',"name":'皳'},{"id":'Q',"name":'巰'},{"id":'r',"name":'驲'},{"id":'R',"name":'囸'},{"id":'s',"name":'鍦'},{"id":'S',"name":'枾'},{"id":'t',"name":'鷈'},{"id":'T',"name":'瓋'},{"id":'u',"name":'媠'},{"id":'U',"name":'鰖'},{"id":'v',"name":'窪'},{"id":'V',"name":'攨'},{"id":'w',"name":'瞃'},{"id":'W',"name":'臒'},{"id":'x',"name":'覀'},{"id":'X',"name":'莃'},{"id":'y',"name":'逰'},{"id":'Y',"name":'湵'},{"id":'z',"name":'謺'},{"id":'Z',"name":'䮰'}],

2.将公司名称为英文的首字母进行转换,为统一排序做准备

      chToEn(){
            this.companyList.forEach(companyItem =>{
                this.commonName.forEach(commonItem =>{
                    if (companyItem.legalEntityFullName.charAt(0) == commonItem.id ){
                        companyItem.legalEntityFullName=commonItem.name+companyItem.legalEntityFullName.substring(1,companyItem.legalEntityFullName.length)
                    }
                })
            })
        },
      enToCh(){
          this.companyList.forEach(companyItem =>{
              this.commonName.forEach(commonItem =>{
                  if (companyItem.legalEntityFullName.charAt(0) == commonItem.name ){
                      companyItem.legalEntityFullName = commonItem.id+companyItem.legalEntityFullName.substring(1,companyItem.legalEntityFullName.length)
                  }
              })
          })
      },

3.排序

companyListSort() {
        this.companyList = this.companyList.sort(function(x,y){
          return x["legalEntityFullName"].localeCompare(y["legalEntityFullName"])
        })
      },

4.方法调用顺序

            that.chToEn();
            that.companyListSort();
            that.enToCh();

附:一个非常好的学习网站:https://how2j.cn?p=37994

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值