排序日期数组的麻烦

时间:2019-07-19 03:29:48

标签: javascript

我遇到一个奇怪的问题,即日期数组未完全排序。数组的大多数似乎正确排序,但是奇怪的是,数组中的前两个元素未排序或排序不正确。

代码:

var arrSortTest = ["July 11, 1960", "February 1, 1974", "July 11, 1615", "October 18, 1851", "November 12, 1995"];

for (var i = 0; i < arrSortTest.length; i++) {
  arrSortTest.sort(function(i) {
    var temp = new Date(i);
    return temp
  });
}
console.log(arrSortTest)

我期望的是:["July 11, 1615", "October 18, 1851", "July 11, 1960", "February 1, 1974", "November 12, 1995"]

我得到的是:["October 18, 1851", "July 11, 1615", "July 11, 1960", "February 1, 1974", "November 12, 1995"]

上面的代码似乎应该可以正常工作,并且似乎在大多数情况下都可以。我应该在这里做些什么以使测试数组中的日期从最旧到最新排序?我只是不了解如何对带有日期的数组进行排序甚至可以工作?

谢谢。

1 个答案:

答案 0 :(得分:5)

awk中的

函数处理程序应该有两个参数,并且当第一个元素大于第二个元素时返回sort,当第一个元素小于第二个元素时返回positive number,如果它们小于则返回0。一样。

因此代码应为:

negative number