手机版

解决小程序中的中英文混合排序问题

时间:2021-08-21 来源:互联网 编辑:宝哥软件园 浏览:

小程序中的汉英混合排序问题

开发手机通讯录功能时,需要按照拼音顺序对通讯录进行排序。联系人列表将混合使用中文和英文。所以我遇到了一个问题。

小程序不能直接用中文排序

按localeCompare函数排序的结果不正确

遇到这个问题的时候,我也上网查了很多。我认为使用localeCompare函数排序更容易。但是在实际开发中,发现该功能的排列结果与互联网上的有所不同。(大概是h5和小程序的区别,我也不太了解~)

最后,参考字母表,我采取了类似的方法来满足我的需求。代码如下

/*返回拼音的首字母大写*/getcname(_ char){ if(_ char=' z ' _ char=' a '){ return _ char . touppercase();} for(拼音中的var项){ if(拼音[项])。indexOf(_char)!=-1)返回项目[0]。toUpperCase();}},/*对二维数组进行排序,返回处理逻辑的结果*/sort woarr(arr){ let RES _ arr=[];for(var j=0;j arr.lengthj){ for(var I=0;I arr . length-1;I){ if(arr[I 1][0]arr[I][0]){ let temp=arr[I][0];arr[I][0]=arr[I 1][0];arr[I 1][0]=temp;让temp _=arr[I][1];arr[I][1]=arr[I 1][1];arr[I 1][1]=temp _;} } } arr.forEach((项)={ res_arr.push(项[1])})return RES _ arr;}在onLoad()函数调用中

/* * *生命周期函数-监视器页面加载*/onload :函数(选项){let arr=['猫','狐','鸟','鹅','一','燕','我成功了',];让arr 1=[];arr.forEach((item,index)={ var _char=item.substr(0,1);让temp=[this.getCName(_char),item]arr 1 . push(temp);}) console.log(这。sortwoarr (arr1))},结果演示

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:解决小程序中的中英文混合排序问题是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。