可以使用 Array.prototype.sort()
方法对数组进行排序。在排序时,可以使用 Date.parse()
方法将日期字符串转换为时间戳,然后比较时间戳大小,即可实现按日期排序。
例如,假设数组 arr
中包含日期字符串:
const arr = ['2023-04-20', '2023-04-22', '2023-04-21'];
可以使用以下代码将数组按日期排序:
arr.sort((a, b) => {
return Date.parse(a) - Date.parse(b);
});
sort()
方法接受一个比较函数作为参数,该函数返回一个数字,表示要排序的两个元素的相对顺序。通过将日期字符串转换为时间戳,然后比较时间戳大小,可以实现按日期排序。执行上述代码后,数组 arr
的元素会按日期从小到大排序。
需要注意的是,sort()
方法会原地修改数组,即直接修改原数组,并返回修改后的数组。如果需要创建一个新数组,可以先使用 Array.from()
方法创建一个新数组,然后再使用 sort()
方法排序。例如
const arr = ['2023-04-20', '2023-04-22', '2023-04-21'];
const sortedArr = Array.from(arr).sort((a, b) => {
return Date.parse(a) - Date.parse(b);
});
这一步,首先使用 Array.from()
方法创建了一个新数组,然后使用 sort()
方法将该数组按日期排序。这样,原数组 arr
保持不变,而新数组 sortedArr
中包含了 arr
的按日期排序后的元素。