Ver Fonte

工分排名

ouyj há 3 meses atrás
pai
commit
3000a8ae31
1 ficheiros alterados com 11 adições e 9 exclusões
  1. 11 9
      pages/score/ranking.uvue

+ 11 - 9
pages/score/ranking.uvue

@@ -96,24 +96,26 @@ const loadRankingData = async (): Promise<void> => {
 
 		  // 处理排名(相同分数排名相同)
 		  const processedData: UTSJSONObject[] = []
+		  let currentRank = 1
+		  
 		  rawData.forEach((item: UTSJSONObject, index: number) => {
-			let rank = index + 1
-
-			// 如果当前项分数与前一项相同,则排名也相同
+			const item = rawData[index]
+			
+			// 如果当前项分数与前一项不同,则更新排名
 			if (index > 0) {
 			  const prevScore = (rawData[index - 1]['finalScore'] as number | null) ?? 0
 			  const currentScore = (item['finalScore'] as number | null) ?? 0
 
-			  if (currentScore === prevScore) {
-				// 找到前一个处理后的项的排名
-				rank = (processedData[processedData.length - 1]['rank'] as number)
+			  if (currentScore !== prevScore) {
+				currentRank = currentRank + 1
 			  }
-			} 
+			}
+			
 			processedData.push({
 			  ...item,
-			  'rank': rank
+			  'rank': currentRank
 			})
-		  }) 
+		  })
 		  rankingList.value = processedData
 		}
 	} catch (error) {