文章分类 Classification
js二维数组比较
稿件来源: 阳光企业网站管理系统 撰稿作者: 太阳光 发表日期: 2014-03-31 阅读次数: 301 查看权限: 游客查看
js二维数组比较
CSDN帖子有这么一个要求:
var array=[[1,2,10],[1,9,8],[5,10,2],[8,10,1],[8,2,7]]
例如上例二维数组,先按array[0]排序,当相同时再按array[2]排序。
我在网上找了好多,没有找到可以用的。请高手帮助
有人给出这样的答案:
var array = [[1,2,10],[1,9,8],[8,2,7],[8,10,1],[5,10,2]]; array.sort(function(a, b){ if(a[0] == b[0]){ return a[2] - b[2]; } return a[0] - b[0]; }); console.log(array);
这方法个人觉得限制得太死了,我们应该考虑到二维数组的多样性与不确定性:
function cp(a,b,n){ if(!a[n]){ return true; }else if(!b[n]){ return false; }else if(a[n]==b[n]){ return cp(a,b,++n); }else{ return a[n]<b[n]; } } var array=[[1,2,10],[1,9,8],[5,10,2],[8,10,1],[8,2,7],[1,2,10,7],[1,2,0,7]]; array.sort(function(a,b){ return cp(a,b,0); }); console.log(array);
关键词: js,数组 编辑时间: 2014-03-31 12:00:30
0
高兴0
支持0
搞笑0
不解0
谎言0
枪稿0
震惊0
无奈0
无聊0
反对0
愤怒
0%(0)
0%(0)
- 暂无评论
文章图片 article Pictrue
网友评论