asfman
android developer
posts - 90,  comments - 213,  trackbacks - 0
Js默认的sort方法只能按照编码顺序排序,这里做出了扩展:
程序代码 程序代码
//一维数组的排序
// type 参数
// 0 字母顺序(默认)
// 1 大小 比较适合数字数组排序
// 2 拼音 适合中文数组
// 3 乱序 有些时候要故意打乱顺序,呵呵
// 4 带搜索 str 为要搜索的字符串 匹配的元素排在前面
function Array.prototype.SortBy(type,str)
{
switch (type)
{
case 0:this.sort(); break;
case 1:this.sort(function(a,b){ return a-b; }); break;
case 2:this.sort(function(a,b){ return a.localeCompare(b) }); break;
case 3:this.sort(function(){ return Math.random()>0.5?-1:1; }); break;
case 4:this.sort(function(a,b){ return a.indexOf(str)==-1?1:-1; }); break;
default:this.sort();
}
}

--------------------------------------------
小男注:
根据需要和y0h提示我把
case 2:this.sort(function(a,b){ return a.localeCompare(b) }); break;
改成
case 2:this.sort(function(a,b){
if(a.length>b.length)return 1;
else if(a.length==b.length)return a.localeCompare(b);
else return -1;
}); break;
我觉得更完美了..
posted on 2006-03-20 23:43 汪杰 阅读(1164) 评论(0)  编辑 收藏 引用 所属分类: javascript
只有注册用户登录后才能发表评论。

<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

常用链接

留言簿(15)

随笔分类(1)

随笔档案(90)

文章分类(727)

文章档案(712)

相册

收藏夹

http://blog.csdn.net/prodigynonsense

友情链接

最新随笔

搜索

  •  

积分与排名

  • 积分 - 468991
  • 排名 - 6

最新随笔

最新评论

阅读排行榜

评论排行榜