我想将数组排序到最新的日期时间,但我收到类似“排序不是函数”的错误
这是我的代码:
const { userCommissionHistoryState, userCommissionDebitHistoryState, userCommissionCreditHistoryState } = this.state
const payload =
!userCommissionHistoryState.fetching && userCommissionHistoryState.success && !_.isEmpty(userCommissionHistoryState.data)
? userCommissionHistoryState.data
: {}
payload.sort(function(a,b){
return new Date(a.created_at) - new Date(b.created_at)
})
最佳答案
这里
const payload =
!userCommissionHistoryState.fetching && userCommissionHistoryState.success && !_.isEmpty(userCommissionHistoryState.data)
? userCommissionHistoryState.data
: {}
我不确定 userCommissionHistoryState.data
的类型,但 {}
的类型是对象,而不是数组。 Object.prototype
中没有 sort()
方法。可能,您需要将 {}
替换为 []
并将 userCommissionHistoryState.data
调整为数组(例如,使用 Object .values
(如果您需要某个对象的值)。
此外,也许最好克隆 userCommissionHistoryState.data
数组,否则 sort()
函数会改变它。
关于javascript - 排序最新日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57456870/