思路

由于只有五种类型(单,双,三,顺,炸),所以比较好比较
首先判断双方是否都是炸弹,进行比较炸弹大小
其次判断是否一方有炸弹,
最后就是判断正常类型的大小,由于给出的是排好序的,所以只需要比较最后一个的大小
由于扑克牌的大小顺序和常规不同,所以自行定义一个大小————通过数组的索引值的大小定义大小

实现

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 fir=''
    let sec=''
    //判断是否是炸弹
    let firIsBoom=false
    let secIsBoom=false
    //判断大小,判断是否能比较大小,-1=Error,0=fir,1=sec
    let result=-1
    //定义大小
    let daxiao=['3','4','5','6','7','8','9','10','J','Q','K','A','2','joker','JOKER']
    while(line = await readline()){
        let tokens = line.split('-');
        fir=tokens[0].split(' ')
        sec=tokens[1].split(' ')
        if(fir.length==4 || (fir.length==2 && fir[0]=='joker')){
            firIsBoom=true
        }
        if(sec.length==4 || (sec.length==2 && sec[0]=='joker')){
            secIsBoom=true
        }
    }
    if(secIsBoom && firIsBoom){
        if(sec[0]!='joker' && fir[0]!='joker'){
            if(daxiao.indexOf(fir[0])>daxiao.indexOf(sec[0])){
                result=0
            }else{
                result=1
            }
        }else if(sec[0]=='joker'){
            result=1
        }else{
            result=0
        }
    }else if(secIsBoom || firIsBoom){
        if(secIsBoom){
            result=1
        }else{
            result=0
        }
    }else if(sec.length==fir.length){
        if(daxiao.indexOf(fir[fir.length-1])>daxiao.indexOf(sec[sec.length-1])){
            result=0
        }else if(daxiao.indexOf(fir[fir.length-1])<daxiao.indexOf(sec[sec.length-1])){
            result=1
        }
    }

    if(result==-1){
        console.log('ERROR')
    }else if(result==0){
        console.log(fir.join(' '))
    }else{
        console.log(sec.join(' '))
    }
}()