题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here
    let inputArr = [];
    while ((line = await readline())) {
        inputArr.push(line);
    }
    let count = inputArr[0];
    let type = inputArr[1];
    let totalArr = inputArr.slice(2);
    //构造以名字和成绩对应的对象作为元素的数组(因为键值可能重复)
    let mainArr = [];
    totalArr.forEach((el) => {
        mainArr.push({
            key: el.slice(0, el.indexOf(" ")),
            value: el.slice(el.indexOf(" ")),
        });
    });

    let temArr = [];
    mainArr.forEach(item =>{
        temArr.push(item.value)
    })
    if (type === "0") {
        //成绩降序排列
        temArr.sort((a, b) => b - a);
    } else if (type === "1") {
        temArr.sort((a, b) => a - b);
    } else {
    }
    let newArr = [...new Set(temArr)];
    newArr.forEach((grade) => {
        mainArr.forEach((item) => {
            if (item.value === grade) {
                console.log(item.key + "" + grade);
            }
        });
    });
})();

全部评论

相关推荐

06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务