为了账号安全,请及时绑定邮箱和手机立即绑定

js实现中文名的排序

标签:
JavaScript

汉字的排序,如果含有英文的话,各排个的,互补影响。

<body><select class="sel" id="ect">	<option value="蛋蛋">蛋蛋</option>	<option value="笨笨">笨笨</option>	<option value="小明">小明</option>	<option value="笨蛋">笨蛋</option>	<option value="汐">汐</option>	<option value="Jack">Jack</option>	<option value="Daniel">Daniel</option>	<option value="克杰">克杰</option>	<option value="信宗">信宗</option>	<option value="fido">fido</option>	<option value="tom">tom</option>	<option value="jerry">jerry</option>	</select><input type="submit" value="排序" onClick="order()"/></body>

javascript的部分:

<script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="jquery-1.11.2.js"></script><script type="text/javascript">	function order(){		$("select option").sort(function(a,b){ 		    var aText = $(a).text(); 		    var bText = $(b).text(); 		    if(typeof aText =="string" && typeof bText == "string"){		    	return aText.localeCompare(bText);		    } 		}).appendTo('select') ;		}</script>

注:localeCompare() 方法用于字符串编码的排序

  sort() 方法用于数组元素的排序


通讯录排序:

function pySegSort(arr,empty) {    if(!String.prototype.localeCompare)        return null;         var letters = "*ABCDEFGHJKLMNOPQRSTWXYZ".split('');    var zh = "阿八嚓哒妸发旮哈讥咔垃麻拏噢妑七呥扨它穵夕丫帀".split('');         var segs = [];	    var curr;    $.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){                return a.text.localeCompare(b.text);            });        }    });	    return segs;}


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消