@@ -199,105 +199,6 @@ function sortColumn(category: string) {
199
199
}
200
200
}
201
201
202
-
203
- // 初始化一个空的结果集合
204
- const allModelResults = ref ([]);
205
-
206
- // 遍历 allLeaderboards 计算每个模型的综合结果
207
- function aggregateModelResults(allLeaderboards ) {
208
- if (! Array .isArray (datasetResults .value ) || datasetResults .value .length === 0 ) {
209
- return [];
210
- }
211
- let num = 0
212
- let totalNum = 0
213
- let easyNum = 0
214
- let mediumNum = 0
215
- let highNum = 0
216
- console .log (" this is continue" )
217
- const modelMap = {}; // 存储模型的累计结果
218
- const modelNames = new Set (); // 存储所有模型名称
219
- const languageCount = allLeaderboards .value .length ; // 语言数量
220
- const allLeaderboardsValue = allLeaderboards .value
221
- // 遍历所有语言的结果
222
- allLeaderboardsValue .forEach (leaderboard => {
223
- leaderboard .data .forEach (languageData => {
224
- console .log (languageData .name )
225
- totalNum += languageData .data .all_ids .length
226
- easyNum += languageData .data .easy_ids .length
227
- mediumNum += languageData .data .medium_ids .length
228
- highNum += languageData .data .hard_ids .length
229
- languageData .results .forEach (result => {
230
- const { resolved, resolvedEasy, resolvedMedium, resolvedHard,site,orgIcon, date} = result ;
231
- let {name} = result
232
- if (! name .startsWith (' M' )) {
233
- name = ' m' + name .toLowerCase ()
234
- }else {
235
- name = name .toLowerCase ()
236
- }
237
-
238
- // 初始化模型数据,如果是第一次看到这个模型
239
- if (! modelMap [name ]) {
240
- modelMap [name ] = {
241
- resolved: 0 ,
242
- resolvedEasy: 0 ,
243
- resolvedMedium: 0 ,
244
- resolvedHard: 0 ,
245
- resolvedEasyRate: 0 ,
246
- resolvedMediumRate: 0 ,
247
- resolvedHardRate: 0 ,
248
- count: 0 , // 统计每个模型出现过的语言数
249
- site: site ,
250
- orgIcon: orgIcon ,
251
- date: date
252
- };
253
- }
254
-
255
- // 累加当前语言的模型分数
256
- modelMap [name ].resolved += resolved ;
257
- modelMap [name ].resolvedEasy += resolvedEasy ;
258
- modelMap [name ].resolvedMedium += resolvedMedium ;
259
- modelMap [name ].resolvedHard += resolvedHard ;
260
- modelMap [name ].count += 1 ;
261
- modelMap [name ].date = modelMap [name ].date > date ? modelMap [name ].date : date
262
- modelNames .add (name );
263
- num = num + 1
264
- });
265
- });
266
- });
267
- allModelResults .value = Object .keys (modelMap )
268
- .filter (name => modelMap [name ].count === languageCount ) // 只保留在每个语言中都存在的模型
269
- .map (name => ({
270
- name ,
271
- resolved: modelMap [name ].resolved ,
272
- resolvedEasy: modelMap [name ].resolvedEasy ,
273
- resolvedMedium: modelMap [name ].resolvedMedium ,
274
- resolvedHard: modelMap [name ].resolvedHard ,
275
- resolvedRate: modelMap [name ].resolved / totalNum ,
276
- resolvedEasyRate: modelMap [name ].resolvedEasy / easyNum ,
277
- resolvedMediumRate: modelMap [name ].resolvedMedium / mediumNum ,
278
- resolvedHardRate: modelMap [name ].resolvedHard / highNum ,
279
- site: modelMap [name ].site ,
280
- orgIcon: modelMap [name ].orgIcon ,
281
- date: modelMap [name ].date ,
282
- }));
283
- }
284
- // watch(allLeaderboards, () => {
285
- // aggregateModelResults(allLeaderboards);
286
- // allModelResults.value.sort((a, b) => b.resolved - a.resolved);
287
- // const newLanguage = {
288
- // name: 'Ranking',
289
- // data: [
290
- // {
291
- // results: allModelResults // 将模型统计结果插入
292
- // }
293
- // ]
294
- // };
295
- // if(allLeaderboards.value){
296
- // allLeaderboards.value.unshift(newLanguage);
297
- // console.log(allLeaderboards)
298
- // }
299
- // }, { immediate: true }); // { immediate: true } 会在一开始就执行一次计算
300
- // console.log(allModelResults)
301
202
</script >
302
203
303
204
<style lang="scss">
0 commit comments