javascript - 排序最新日期时间

标签 javascript reactjs

我想将数组排序到最新的日期时间,但我收到类似“排序不是函数”的错误

My array

这是我的代码:

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/

相关文章:

javascript - HTML5 到 iOS 应用程序

javascript - Google 图表 - 标签未显示

reactjs - 使用 React 和 TypeScript 动态渲染组件

javascript - 显示/Conceal ReactJS 组件而不丢失其内部状态?

javascript - 如何将 MySQL 数据库连接到 ReactJS 应用程序?

javascript - npm 编译错误 ('_' 未定义)

ReactJS 有状态和无状态的区别

javascript - JavaScript 引用传递如何解释这种行为?

javascript - d3 : key function choice when appending element to an existing svg

javascript - 如何在 react js中单击按钮或图标单击打开日期选择器