姓名排序localeCompare,苹果和安卓结果不一样,救救孩子吧?
发布于 6 年前 作者 yaoguiying 4154 次浏览 来自 官方Issues

function pySegSort(arr) {

   if(!String.prototype.localeCompare)

       return null;    

   var letters = "*abcdefghjklmnopqrstwxyz".split('');  

 var zh = "阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀".split('');    

   var segs = [];    var curr;    letters.forEach(function(item,i){        curr = {letter: item, data:[]};

       arr.forEach(function(item2){  

         if((!zh[i-1] || zh[i-1].localeCompare(item2) <= 0) && item2.localeCompare(zh[i]) == -1) {

               curr.data.push(item2);            }

       });

       if(curr.data.length) {

           segs.push(curr);

           curr.data.sort(function(a,b){

               return a.localeCompare(b);

           });        }    });    return segs; }
2 回复

小程序貌似不支持localeCompare。。在安卓里面是不行的,需要自己去找一个汉字转拼音的工具类。具体可以看看我这篇博客。。https://blog.csdn.net/cb130248/article/details/103157467

this.pySegSort(

[ “张1”, “张3”, “张4”, “张三”]) 这样调用

回到顶部