【问题标题】:React - reorder JSON dataReact - 重新排序 JSON 数据
【发布时间】:2018-02-06 07:20:35
【问题描述】:

我正在制作一个简单的应用程序,用于从 TMDb 返回电影信息。我可以检索数据并按受欢迎程度和平均投票排序。

但是,我正在努力将其恢复为从 TMDb 检索到的原始订单。

这是我用来对数据进行排序的函数:

sortBy = (param) => {
        let movies = [];
        if(param.target.value === 'popularity'){
          this.setState({sort:'popularity'})
          movies = this.state.movies.sort((a,b) => {
            return parseFloat(b.popularity) - parseFloat(a.popularity)
          });
        } else if (param.target.value === 'vote_average'){
          this.setState({sort:'vote_average'})
          movies = this.state.movies.sort((a,b) => {
            return parseFloat(b.vote_average) - parseFloat(a.vote_average)
          });
        }
        this.setState({
          movies: movies
        });
}

现在,如果我将“param.target.value”设置为“匹配”,我想恢复数据的原始顺序。这存储在 state.movi​​es 中,但在函数结束时会更改。仅保留一些原始订单状态是最佳选择吗?

【问题讨论】:

  • 添加您使用的数据...
  • 为什么不直接在加载时排序(例如按日期)并使用排序功能返回原始状态?

标签: javascript json reactjs


【解决方案1】:

显而易见的选择是按照您提到的原始顺序保留副本,或者添加一些记录原始订单的字段(例如“id”)。

如果您知道 TMDb 最初对数据的排序方式,则可以恢复该顺序,而无需添加额外的字段。另一方面,如果初始顺序是任意的,请考虑像@Rienk suggested 那样从头开始对数据进行排序。

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 2020-01-30
    • 2017-07-13
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 2019-06-23
    相关资源
    最近更新 更多