js实现中文名的排序
汉字的排序,如果含有英文的话,各排个的,互补影响。
<body><selectclass="sel"id="ect"><optionvalue="蛋蛋">蛋蛋</option><optionvalue="笨笨">笨笨</option><optionvalue="小明">小明</option><optionvalue="笨蛋">笨蛋</option><optionvalue="汐">汐</option><optionvalue="Jack">Jack</option><optionvalue="Daniel">Daniel</option><optionvalue="克杰">克杰</option><optionvalue="信宗">信宗</option><optionvalue="fido">fido</option><optionvalue="tom">tom</option><optionvalue="jerry">jerry</option></select><inputtype="submit"value="排序"onClick="order()"/></body>
javascript的部分:
<scriptsrc="jquery-1.11.2.js"></script><scripttype="text/javascript">functionorder(){$("selectoption").sort(function(a,b){varaText=$(a).text();varbText=$(b).text();if(typeofaText=="string"&&typeofbText=="string"){returnaText.localeCompare(bText);}}).appendTo('select');}</script>
注:localeCompare() 方法用于字符串编码的排序
sort() 方法用于数组元素的排序
通讯录排序:
functionpySegSort(arr,empty){if(!String.prototype.localeCompare)returnnull;varletters="*ABCDEFGHJKLMNOPQRSTWXYZ".split('');varzh="阿八嚓哒妸发旮哈讥咔垃麻拏噢妑七呥扨它穵夕丫帀".split('');varsegs=[];varcurr;$.each(letters,function(i,n){curr={letter:this,data:[]};$.each(arr,function(k,v){if((!zh[i-1]||zh[i-1].localeCompare(v.text)<=0)&&v.text.localeCompare(zh[i])==-1){curr.data.push(this);}});if(empty||curr.data.length){py.push(this);segs.push(curr);curr.data.sort(function(a,b){returna.text.localeCompare(b.text);});}});returnsegs;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。