开启左侧

[CSS] javascript数组排序

[复制链接]
发表于 2012-4-13 17:31:39 | 显示全部楼层 |阅读模式
js中sort函数只能比较字符串。
var arr = [4,8,15,16,23];
arr.sort();
结果为[15,16,23,4,8],这样的结果并不符合我们的要求。扩展sort方法,排序结果为[4,8,15,15,23].
如果是s=[
[first:'joe',last:'awk'],
[first:'zwe',last:'oli'],
[first:'joe',last:'asp']
];
a.sort(by('first')).sort(by('last'));
结果为根据first字段排序,然后再根据last字段排序。这个by函数怎么写?
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-4-13 17:31:43 | 显示全部楼层
s=[  {first:'joe',last:'awk'},  {first:'zwe',last:'oli'},  {first:'joe',last:'asp'} ]; s.sort(function(a,b){  return a.first>b.first; }); function toStr(obj){  if(obj instanceof Array){   var re = ['['];   for(var i=0,v;v=obj[i++];){    re.push(arguments.callee(v));   }   re.push(']');  }else{   re = ['{'];   for(var k in obj){    re.push(k.concat(':',obj[k]));   }   re.push('}');  }  return re.join(''); }  alert(toStr(s));
运行代码复制代码另存代码 提示:您可以先修改部分代码再运行

不知道你想说啥。。。
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-4-13 17:31:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

 
QQ在线咨询
售前咨询热线
0532-88371356
售后服务微信
pingduwangzhan
快速回复 返回顶部 返回列表