如何使用JS排序

具体如下所示
张三考试成绩为98,李四为65,王五为75
如何按分数排序并显示其分数和姓名。请问用JS该如何从高到低排序呢?非常感谢。

阅读 3.3k
4 个回答
let students = [
    {
        name:"张三",
        score:98
    },
    {
        name:"李四",
        score:65
    },
    {
        name:"王五",
        score:75
    }
];
students.sort((a,b)=>{
    return b.score-a.score;
});

输出:

[
    {name: "张三", score: 98},
    {name: "王五", score: 75},
    {name: "李四", score: 65}
]

更新

//使用split("||")可以分割"||"两侧字符串,得到一个数组。数组第一项为姓名,第二项为分数
//按分数排序
score.sort((a,b)=>{
    scoreA = +a.split("||")[1];
    scoreB = +b.split("||")[1];
    return scoreB - scoreA;
});

//输出姓名和分数
for(var i = 0;i < score.length;i++){
    //姓名
    console.log(score[i].split("||")[0]);
    //分数
    console.log(score[i].split("||")[1]);
}

这个问题其实挺基础的,提问前先百度吧~

数组 就用sort 排序,看你数据格式而确定怎么做最好

arr.sort((a,b)=>{
    return b-a
})

边学边看书啊

var testList=[......]
function sortList(a, b) {
    return b.score - a.score
}
testList.sort(sortList)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题