React - 重新排序 JSON 数据
Posted
技术标签:
【中文标题】React - 重新排序 JSON 数据【英文标题】:React - reorder JSON data 【发布时间】: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.movies 中,但在函数结束时会更改。仅保留一些原始订单状态是最佳选择吗?
【问题讨论】:
添加您使用的数据... 为什么不直接在加载时排序(例如按日期)并使用排序功能返回原始状态? 【参考方案1】:显而易见的选择是按照您提到的原始顺序保留副本,或者添加一些记录原始订单的字段(例如“id”)。
如果您知道 TMDb 最初对数据的排序方式,则可以恢复该顺序,而无需添加额外的字段。另一方面,如果初始顺序是任意的,请考虑像@Rienk suggested 那样从头开始对数据进行排序。
【讨论】:
以上是关于React - 重新排序 JSON 数据的主要内容,如果未能解决你的问题,请参考以下文章