当前位置: 首页 > 知识库问答 >
问题:

排序日期为[duplicate]的数组时出现问题

罗金林
2023-03-14

我有一个奇怪的问题,日期数组没有完全排序。数组的大部分似乎排序正确,但是有一个奇怪的地方,数组中的前两个元素没有排序,或者排序不正确。

代码:

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)

我所期待的:["1615年7月11日"、"1851年10月18日"、"1960年7月11日"、"1974年2月1日"、"1995年11月12日"]

我得到的:[“1851年10月18日”、“1615年7月11日”、“1960年7月11日”、“1974年2月1日”、“1995年11月12日”]

上面的代码看起来应该只是工作,而且看起来它在很大程度上是这样的。我应该在这里做什么不同的事情来让我的测试数组中的日期从最旧的到最新的排序?我是不是不明白用日期排序数组是如何工作的?

提前谢谢你。

共有1个答案

莫欣悦
2023-03-14

排序中的函数处理程序应该有两个参数,当第一个元素大于第二个元素时,返回正数,当第一个元素小于第二个元素时,返回负数,当它们相同时返回0。

因此,代码应该是:

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

arrSortTest.sort(function(i, j) {
  return new Date(i).getTime() - new Date(j).getTime();
});

console.log(arrSortTest)
 类似资料:
  • 我有一个对象数组,其中包括每个对象中的lastModifiedDate属性。我想根据lastModifiedDate属性按升序和降序对对象数组进行排序。如果日期相同,那么排序应该基于日期的时间。 我已尝试使用以下代码对上述数组进行排序。 对于升序: 按降序排列:

  • 问题内容: 如何在python 2.4上对以下日期数组进行排序 问题答案:

  • 我正在努力解决这个问题,合并两个排序数组(或在这个特定情况下的向量)。当将向量元素记录到控制台时,我得到了非常奇怪的输出。我的理想输出将是所有按顺序排列的数字。 代码如下: 以下是控制台的说明:

  • 我试图使用bash脚本交换日志文件名中的日期。然而,我似乎无法让日期发挥好作用。 当我尝试使用交换日期时,原始日期仍然在文件名中(我正在回响,而不是现在使用): 我想要更改的日志文件中只有今天的日期。格式为。我想把它改成。 我在命令中使用变量名的问题是什么?

  • 问题内容: 我有一个json数组,我尝试 按日期对它 进行 排序, 然后再附加它。 该数组如下所示: 目前, 我已经设法对 日期 数组 进行了如下 排序 : 这给了我: 但 我不确定如何对 包含多个键 的复杂数组执行相同的操作 。我知道 我应该先将日期格式设置为YYYY-MM-DD, 但之后会有点混乱。 一个良好的开端将是我目前在jsbin上找到的内容:http ://jsbin.com/ipat

  • 我想按日期对对象数组进行排序,但问题是它们的日期是这种格式-。 这里是此数组中一个对象的示例 我必须按修改日期或创建日期对它们进行排序!