我正在尝试对对象数组进行排序,每个对象包含:
var recent = [{id: "123",age :12,start: "10/17/13 13:07"} , {id: "13",age :62,start: "07/30/13 16:30"}];
日期格式为:mm/dd/yy hh:mm
.
我想按日期顺序排序,最新的排在第一位。如果日期相同,则应按时间部分排序。
我尝试了下面的sort()
功能,但不起作用:
recent.sort(function(a,b))
{
a = new Date(a.start);
b = new Date(b.start);
return a-b;
});
另外我应该如何迭代对象进行排序?就像是:
for (var i = 0; i < recent.length; i++)
{
recent[i].start.sort(function (a, b)
{
a = new Date(a.start);
b = new Date(b.start);
return a-b;
} );
}
数组中可以有任意数量的对象。
正如评论中所指出的,最近的定义不是正确的 javascript。
但假设日期是字符串:
var recent = [
{id: 123,age :12,start: "10/17/13 13:07"},
{id: 13,age :62,start: "07/30/13 16:30"}
];
然后像这样排序:
recent.sort(function(a,b) {
return new Date(a.start).getTime() - new Date(b.start).getTime()
});
有关 W3Schools 排序功能的更多详细信息 http://www.w3schools.com/jsref/jsref_sort.asp
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)