我正在尝试将这个对象数组中的日期从最新到最旧排序。我正在尝试这段代码,即将数组复制到一个新的 const
,然后将它与 sort
一起使用,但我得到了相同的结果,没有排序的日期。我的代码如下:
const array=[...user?.editedBy]
console.log(array,"array")
const sortedDates = array?.sort((dateA, dateB) => dateB.date -dateA.date )
console.log(sortedDates,'sortedArray')
第一张图片是来自数组的控制台日志,第二张来自 sortedDates
。
同样的结果,有人可以帮我弄清楚我错过了什么吗?
提前致谢
最佳答案
正如您在控制台屏幕截图中所见,这些实际上不是 Date 对象,而是字符串。
因此您必须将字符串映射到 Date
对象,然后再进行比较。
const sortedDates = array?
.map(obj => { return { ...obj, date: new Date(obj.date) } })
.sort((a, b) => b.date - a.date)
关于javascript - 如何将日期形式排序为最新到最旧的对象数组 react js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70855552/