我正在为测验构建一个vue应用程序,我想显示参加测验的人之前的所有结果,为此我从后端获取结果,然后将它们传递给“view”组件,并使用一个computed属性:
computed: {
allResults() {
return this.$store.state.allResults;
},
我还想整理出最好的结果,和最近的结果,并分别显示它们,为了做到这一点,我有以下方法:
bestResults() {
let orderedArray = this.allResults;
orderedArray.sort((a, b) =>
a.score < b.score ? 1 : a.score > b.score ? -1 : 0
);
let half = Math.round(orderedArray.length / 2);
let bestResults = orderedArray.slice(0, half);
return bestResults;
},
recentResults() {
let recentResults = this.allResults.slice(0, 5);
return recentResults;
}
这是可行的,但是它以从最高到最低显示得分的方式对allResults
数组进行排序,这是我在bestResults()
函数中所做的,这是一个问题,因为我想基于日期显示recentResults
,它应该在顶部显示最近的结果。
1条答案
按热度按时间wnavrhmk1#
首先对
bestResults()
中的数组排序,然后使用recentResults
中的排序数组。作为一种解决方案,您可以创建一个具有相同元素的新数组并对其进行排序,这将保持原始数组不变: