数组对象按属性值排序

wienne 2010-12-15 01:56:41
请教如


j=new Array();
j[0]=new Object;
j[0].stamp=1000;
j[0].txt='one';

j[1]=new Object;
j[1].stamp=500;
j[1].txt='xxx';

j[2]=new Object;
j[2].stamp=3000;
j[2].txt='bbb';



如何按对象 stamp 的值进行排序?

以下是我试验的代码

j.sort(function(a,b){
console.log(a,b); //为什么没有显示任何值?
return parseInt(a.stamp) - parseInt(b.stamp);
});
...全文
168 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wienne 2010-12-15
  • 打赏
  • 举报
回复
谢谢,看来我的思路是对的

只是我的实际数据有点不一样,造成了我的困惑

我实际的数据大致是这样的,问题也解决了。

j=new Array();
j[0]=new Array();
j[0]['_0']=new Object;
j[0]['_0'].stamp=1000;
j[0]['_0'].txt='one';

j[0]['_1']=new Object;
j[0]['_1'].stamp=500;
j[0]['_1'].txt='xxx';

j[0]['_2']=new Object;
j[0]['_2'].stamp=3000;
j[0]['_2'].txt='bbb';
Mr-Jee 2010-12-15
  • 打赏
  • 举报
回复
上面是倒序

顺序的话

j=new Array();
j[0]=new Object;
j[0].stamp=1000;
j[0].txt='one';

j[1]=new Object;
j[1].stamp=500;
j[1].txt='xxx';

j[2]=new Object;
j[2].stamp=3000;
j[2].txt='bbb';

j.sort(function(a,b) {
return a.stamp - b.stamp;
});
hch126163 2010-12-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cj205 的回复:]

j=new Array();
j[0]=new Object;
j[0].stamp=1000;
j[0].txt='one';

j[1]=new Object;
j[1].stamp=500;
j[1].txt='xxx';

j[2]=new Object;
j[2].stamp=3000;
j[2].txt='bbb';

j.sort(function(a,b……
[/Quote]

+1
Mr-Jee 2010-12-15
  • 打赏
  • 举报
回复
j=new Array();
j[0]=new Object;
j[0].stamp=1000;
j[0].txt='one';

j[1]=new Object;
j[1].stamp=500;
j[1].txt='xxx';

j[2]=new Object;
j[2].stamp=3000;
j[2].txt='bbb';

j.sort(function(a,b) {
return b.stamp - a.stamp;
});

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧