Fork me on GitHub

对象数组,根据字符串字段,并按默认方式排序

sort在字符串的默认排序,是按unicode字节码排序的,一般字符串的排序可以通过strA.localeCompare(strB)来完成,但我这里必须要按字符串的默认方式排序。
list=list.sort((a,b)=>{
                        var jobA=a.Job;
                        var jobB=b.Job;
                        var lenA=jobA.length;
                        var lenB=jobB.length;
                        var len=lenB<lenA?lenB:lenA;
                        for(var i=0;i<len;i++)
                        {
                            var charA=jobA.charCodeAt(i);
                            var charB=jobB.charCodeAt(i);
                            if(charB!=charA)
                            {
                                return charB-charA
                            }
                        }
                        if(lenB==lenA)return 0;
                        else if(len==lenA)return 1;
                        else return -1;
                      
                        // return b.Job.localeCompare(a.Job,'zh-hans-CN',{sensitivity:'accent'});
                    });

 

posted @ 2024-01-19 11:36  HelloLLLLL  阅读(27)  评论(0编辑  收藏  举报