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())
js 日期排序
最新推荐文章于 2024-06-25 09:09:51 发布
这篇文章介绍了一个JavaScript代码示例,定义了一个Array.prototype.sortFn方法,该方法用于对包含日期的数组进行排序。它首先将日期转换为时间戳存储在新数组中,然后对时间戳进行排序,最后根据排序后的时间戳重新排列原数组,实现日期由小到大的排序顺序。
摘要由CSDN通过智能技术生成