查了网上很多方法,最后实现如下:(VUE)

数据格式如下:

VUEdata

data: {filter:{},brand:[],
},

methods:{

pySort:function(arr,empty){

    var $this = this;if(!String.prototype.localeCompare)return null;var letters ="ABCDEFGHIJKLMNOPQRSTUVWXYZ#".split('');var zh ="啊把差大额发噶哈*级卡啦吗那哦爬器然撒他**哇西呀咋".split('');     //*占位没有i,u,v拼音开头的汉字

    var arrList = [];for(var m =0;m<arr.length;m++){arrList.push(arr[m].name);}var result = [];var curr;for(var i=0;i<letters.length;i++){curr = {letter: letters[i], data:[]};if(i!=26){for(var j =0;j<arrList.length;j++){var initial = arrList[j].charAt(0);           //截取第一个字符
                if(arrList[j].charAt(0)==letters[i]||arrList[j].charAt(0)==letters[i].toLowerCase()){   //首字符是英文的
                    curr.data.push(arrList[j]);}else if(zh[i]!='*'&&$this.isChinese(initial)){      //判断是否是无汉字,是否是中文
                    if(initial.localeCompare(zh[i]) >= 0 &&(!zh[i+1]||initial.localeCompare(zh[i+1]) <0)) {   //判断中文字符在哪一个类别
                        curr.data.push(arrList[j]);}}}}else{for(var k =0;k<arrList.length;k++){var ini = arrList[k].charAt(0);           //截取第一个字符
                if(!$this.isChar(ini)&&!$this.isChinese(ini)){curr.data.push(arrList[k]);}}}if(empty || curr.data.length) {result.push(curr);curr.data.sort(function(a,b){return b.localeCompare(a);       //排序,英文排序,汉字排在英文后面
            });}}return result;
},
isChinese:function(temp){var re=/[^\u4E00-\u9FA5]/;if (re.test(temp)){return false  ;}return true ;
},
isChar:function(char){var reg = /[A-Za-z]/;if (!reg.test(char)){return false ;}return true ;
}

最后调用:

$this.filter.brand = [
{name: "AHY", count: 0, selected: 0},
{name: "2ITCH'S POUCH", count: 0, selected: 0},
{name: "~U.R", count: 0, selected: 0},
{name: "bonvivant", count: 0, selected: 0},
{name: "dr. jart+", count: 0, selected: 0},
{name: "nooni", count: 0, selected: 0},
{name: "purplebox", count: 0, selected: 0},
{name: "the saem得鲜", count: 0, selected: 0},
{name: "农心", count: 0, selected: 0},
{name: "可莱丝", count: 0, selected: 0},
{name: "太平洋爱茉莉", count: 0, selected: 0},
{name: "悦诗风吟", count: 0, selected: 0},
{name: "悦诗风吟牌", count: 0, selected: 0},
{name: "汤姆农场", count: 0, selected: 0},
{name: "海太", count: 0, selected: 0},
{name: "美美箱", count: 0, selected: 0},
{name: "自然源露", count: 0, selected: 0},
{name: "贵爱娘", count: 0, selected: 0}
console.log(JSON.stringify($this.pySort($this.filter.brand)));

中英文按照首字母A~Z顺序排序相关推荐

  1. JAVA WEB 对返回数据进行按中文名称首字母A~Z升序排序

    对数据按中文名称A~Z进行升序排序 Collections.sort(ListName, new Comparator<ModelClassName>() {Collator collat ...

  2. 将乱序字母按A-Z顺序排序

    将乱序字母按A-Z顺序排序 const cityObj = {};for(let i = 65;i<=90;i++){if(this.groupCity[String.fromCharCode( ...

  3. 英文首字母排序mysql_利用MySQL数据库来处理中英文取首字母排序

    [package com.syz;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import ja ...

  4. 用MySQL数据库来处理中英文取首字母排序

    我们的联系人列表经常会有按照首字母排序的需求. 这个很方便, 很清晰, 如果不说性能如何, 就像让数据库来做呢? 其实MySQL是支持的. 我们建立一个函数: DELIMITER $$ CREATE ...

  5. mysql中英文拼音首字母获取及排序

    需求 在数据库中需要根据用户名按a-z排序: 方式一 因为我们通常使用的编码都是utf-8;所以直接排序并不是按照我们所期待的拼音从a-z排序;我们需要将字符转换成gbk即可: select * fr ...

  6. java中英文获取首字母之后分组排序

    package com.syz; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import ...

  7. mysql 中英按字母排序_利用MySQL数据库来处理中英文取首字母排序

    很久都没有写博客了, 但是也积攒了了很多的问题, 下次找个时间一起整理一下, 然后记录下来, 以备不时之需. 我们的联系人列表经常会有按照首字母排序的需求.  这个很方便, 很清晰, 如果不说性能如何 ...

  8. MySQL数据库处理中英文取首字母排序

    需求:联系人列表按照首字母排序 通常如果表设计的时候增加了对应的首字母字段显然很好实现,如果没加,应该如何实现!? 数据库创建 函数 执行以下代码 CREATE DEFINER=``@`` FUNCT ...

  9. SQL 中文首字母提取与自定义排序

    中文首字母提取 利用汉字编码边界值提取 --中文转首字母 select case when regexp_like(t.party_name,'^[a-zA-Z0-9]') then upper(su ...

最新文章

  1. 10个工程师,9个不合格!
  2. 一天之内用SDN能做出什么
  3. python接口自动化参数化_Python读取txt文件数据的方法(用于接口自动化参数化数据)...
  4. ROS+Turtlebot3+RVIZ 显示机器人历史轨迹方法
  5. Excel按照日期排序,有截图
  6. python小例子之8 -- decorator的使用
  7. tomcat本地服务器配置好了考到别的机器上项目都错了e,【Tomcat】项目部署和运行时遇到的坑(玄学?)...
  8. Mac下docker安装kali/ubuntu14.04
  9. 数据可视:让科幻走向现实
  10. 《惊人的假说-灵魂的科学探索》读书笔记(1)
  11. Word文档恢复,2大方案教你找回没有保存或者被删除的数据
  12. python查缺补漏之decorate
  13. Redis 如何实现库存扣减操作和防止被超卖?(荣耀典藏版)
  14. 第一个用计算机编舞的人,多媒体平台·虚拟人·数字舞蹈
  15. 对RAM,ROM,NOR/NAND FLASH等常见内存设备类型的理解
  16. 东京迪斯尼海洋乐园攻略_迪士尼乐园-软件工程师的观点
  17. python中的while语句
  18. Linux打印当前目录
  19. 2021年深圳考点临床医师计算机考试准考证
  20. 开源配置管理工具config-toolkit 使用心得

热门文章

  1. [浙大网新易盛] 春节后找工作被面试的经历,好岗位分享给还在找工作中的软件开发爱好者们
  2. 演讲实录!谷得技术总监陈镇洪教你打造游戏研发流水线
  3. c语言中学试题,初中信息技术中考模拟试题
  4. Mac下使用iPic+腾讯云cos打造舒服的写作环境
  5. c语言26个字母指针数组排序,C语言:通过指针对数组元素进行排序
  6. 【五一特刊】FPGA零基础学习:VGA协议驱动设计
  7. MySQL 对手机号、身份证号 查询结果 用****加密代替
  8. TDSQL新敏态引擎Online DDL技术原理
  9. MaaS发展展望与思考
  10. 达内培训 python 怎样