js 日期排序

这篇文章介绍了一个JavaScript代码示例,定义了一个Array.prototype.sortFn方法,该方法用于对包含日期的数组进行排序。它首先将日期转换为时间戳存储在新数组中,然后对时间戳进行排序,最后根据排序后的时间戳重新排列原数组,实现日期由小到大的排序顺序。
摘要由CSDN通过智能技术生成
var arr = ['2016-09-09', '2015-12-30', '2016-01-04', '2011-09-12']; // 数组存储的是要排序的时间日期
// 为数组对象实例添加一个实例方法,它实现了排序效果。
Array.prototype.sortFn = function() {
  var arr2 = []; // 声明一个数组用来声明时间戳
  var json = {}; // 声明一个对象,对象属性是时间戳,属性值是时间日期在原数组中的索引。
  for (var index = 0, len = this.length; index < len; index++) {
    json[new Date(this[index]).getTime()] = this[index]; // 时间戳作为属性,日期作为属性值。
    arr2.push(new Date(this[index]).getTime()); // 把时间戳压入数组。
  }
  arr2.sort(); // 实现数组值由小到大排序。
  for (var j = 0; j < arr2.length; j++) {
    this[j] = json[arr2[j]]; // 由于arr2中的时间戳是由小到大排序的,所以arr数组的内容也会被重置为由小到大排序。
  }
  return this; // 实现链式调用。
}
console.log(arr.sortFn())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值