将分数分离,然后记录它的索引,然后使用reduce进行排序,排序后的index即为原数组的排序index的索引,然后输出即可。

let line

let arr = []

const getSequence = (arr,order)=>{
    let scoreArr = []
    let result = []
    //    将分数分离     
    arr.forEach((item,index)=>{
        let temp = item.split(' ');
        scoreArr.push({
            index:index,
            score:parseInt(temp[1])
        })
    });
      result =  scoreArr.reduce((list,item)=>{
            let newList = list
             if(newList.length == 0){
                 newList.push(item)
             }else{
                 let index;
                 if(order == 0){
                      index = newList.findIndex((i)=>i.score < item.score);
                 }else{
                      index = newList.findIndex((i)=>i.score > item.score);
                 }
                  index > -1 ? newList.splice(index,0,item) : newList.push(item)
                
             }
             return newList
        },[])
    let res = []
     result.forEach((item)=>{
         let index = item.index
         res.push(arr[index])
     })
    return res
}
while(line = readline()){
    arr.push(line);
    if(arr.length >= 2){
        let count = parseInt(arr[0]);
        let direction = parseInt(arr[1]); //0 从高到低 1 从低到高
        if(arr.length == 2 + count){
            let dict = JSON.parse(JSON.stringify(arr));
            dict.splice(0,2);
            let newArr = []
            let result = getSequence(dict,direction);
            result.map(i=>console.log(i))
            arr = []
        }
    }
    
}