SOURCE

// 比较两个字符串,不关心大小写问题:首先比较首字母,如果首字母不相同,就按照字符排序,
//如果相同,就比较两个字符串中,出现首字母的个数,谁多,谁大,如果首字母字符个数也一样,那就按位比较字符大小。

function compareStr(str1,str2,level = 0){
    if(level === 0){
        str1 = str1.toLowerCase()
        str2 = str2.toLowerCase()
    }
    let str1F = str1.substr(0,1)
    let str2F = str2.substr(0,1)
    let num1 = str1.substr(level,1).charCodeAt(0)
    let num2 = str2.substr(level,1).charCodeAt(0)
    if( level > 0 && num1 === num2){
        let arr1 = str1.split("")
        let arr1SampNum = 0
        let arr2 = str2.split("")
        let arr2SampNum = 0
        for(let i = 0 ; i < arr1.length ; i++ ){
            if(arr1[i]  === str1F){
                arr1SampNum ++ 
            }
        }
        for(let i = 0 ; i < arr2.length ; i++ ){
            if(arr2[i]  === str2F){
                arr2SampNum ++ 
            }
        }
        if(arr1SampNum === arr2SampNum){
            level ++
            compareStr(str1,str2,level)
        }else{
            console.log (str1 + compareNum(num1,num2) +str2)
        }
        return 
    }
    if(num1 === num2 ){
        level ++
        compareStr(str1,str2,level)
    }else{
        console.log (str1 + compareNum(num1,num2) +str2)
    }
}
function compareNum(num1,num2){
    if(num1 - num2 > 0){
        return ">"
    }else{
        return "<"
    }
}
compareStr("aa","baa")
console 命令行工具 X clear

                    
>
console