// 原始数据
const scores = [
{
"姓名": "韩建华",
"分数": 4050
},
{
"姓名": "赵萍",
"分数": 4050
},
{
"姓名": "马素莉",
"分数": 4000
},
{
"姓名": "王亚男",
"分数": 3950
},
{
"姓名": "王坤",
"分数": 3900
},
{
"姓名": "吴春军",
"分数": 3800
},
{
"姓名": "王纯刚",
"分数": 3800
},
{
"姓名": "叶腾飞",
"分数": 3800
},
{
"姓名": "李京",
"分数": 3750
},
{
"姓名": "冯瑞",
"分数": 3700
},
{
"姓名": "刁广智",
"分数": 3700
},
{
"姓名": "张彦龙",
"分数": 3700
},
{
"姓名": "杨亚丽",
"分数": 3700
},
{
"姓名": "吴春军",
"分数": 3650
},
{
"姓名": "惠方宏",
"分数": 3650
},
{
"姓名": "王枫",
"分数": 3650
},
{
"姓名": "卢俊",
"分数": 3600
},
{
"姓名": "张乐娟",
"分数": 3600
},
{
"姓名": "成小娟",
"分数": 3600
},
{
"姓名": "李京",
"分数": 3600
}
];
// 根据分数对数据进行排序
const sortedScores = scores.sort((a, b) => b.分数 - a.分数);
// 创建一个新数组来存储排名
const rankedScores = [];
// 初始化排名
let rank = 1;
// 遍历排序后的分数列表
for (let i = 0; i < sortedScores.length; i++) {
// 如果当前对象的分数与前一个对象的分数相同
if (i > 0 && sortedScores[i].分数 === sortedScores[i - 1].分数) {
// 跳过排名的分配,保持排名为null
rankedScores.push({ ...sortedScores[i], 排名: null });
} else {
// 如果分数不同,更新排名
rankedScores.push({ ...sortedScores[i], 排名: rank++ });
}
}
// 输出排名后的数据
console.log(rankedScores);
console