![](/img/trans.png)
[英]Sort an array of objects by hour minutes in ascending order from earliest to latest
[英]Sort dates in an array from earliest to latest in JavaScript
用JavaScript从最早到最新的日期对数组中的日期进行排序的最佳方法是什么? dateArray.sort()
似乎根本不起作用。
到目前为止,这是我尝试过的:
var dateArray = new Array();
for(i=0;i<timelineItemCount;i++)
{
var today = new Date();
var randomDates = randomDate(today, new Date(today.getFullYear(), today.getMonth(), today.getDate()+7));
dateArray.push(randomDates);
}
dateArray.sort();
console.log(dateArray);
function randomDate(start, end) {
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
}
date对象具有内置的比较功能,您只需要告诉它该做什么。
dateArray.sort(function (a, b) {
return (a > b) - (a < b);
});
传递您自己的比较函数进行sort
:
dateArray.sort(function (a, b) {
return a - b;
});
另请注意.sort
的MDN页面:
compareFunction
可选的。 指定定义排序顺序的函数。 如果省略,则根据每个字符的Unicode代码点值 (根据每个元素的字符串转换)对数组进行排序。
默认情况下,您是按日期的toString()
方法的结果按字母顺序对日期进行排序,这可能是按星期几的字母顺序进行排序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.