美文网首页
乱序字符串重排

乱序字符串重排

作者: Hasan_hs | 来源:发表于2020-11-25 17:07 被阅读0次

    为什么会有这个小东西

    就是因为在学习某个文档的时候是乱序的,看起来和使用起来忒难受,所以为了达到想要的效果随便写了一个“能用”的重排代码

    原始数据

    513. player 557. phone 601. cause 645. economy
    514. agree 558. either 602. hair 646. medical
    515. especially 559. data 603. look 647. hospital
    

    想要效果

    513 .  player
    
    514 .  agree
    
    515 .  especially
    
    557 .  phone
    
    558 .  either
    
    559 .  data
    
    601 .  cause
    
    602 .  hair
    
    603 .  look
    
    645 .  economy
    
    646 .  medical
    
    647 .  hospital
    

    代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            *{
                margin: 0;
                padding: 0;
            }
            div{
                display: flex;
                flex-wrap: wrap;
            }
            p{
                width: 50%;
            }
        </style>
    </head>
    <body>
        <div id='q'></div>
        <script>
            
            //原始字符串
            //此程序仅限以下格式字符串转进行重排
            var string = `513. player 557. phone 601. cause 645. economy
    514. agree 558. either 602. hair 646. medical
    515. especially 559. data 603. look 647. hospital`;
            string+='648.最后一个'
            var stringSplit = string.split(".");
            var newLists = [];
            var newString = '';
            var state = 0;
            var num = 0;
            var num2 = 0;
            for(var j = 0;j<stringSplit.length;j++){
                if (new RegExp("[0-9]").test(stringSplit[j])) {//包含
                    for(var z= 0;z<stringSplit[j].length;z++){
                        if(!isNaN(stringSplit[j][z])){//是数字
                            if(state == 0){
                                if(num ==0){
                                    newString+=  ",";
                                }
                                
                                newString+=  stringSplit[j][z];
                            }else{
                                newString+=  stringSplit[j][z];
                            }
                            num++;
                            num2++;
                        }else{
                            if(num2 != 0){
                                newString+=  "."+stringSplit[j][z];
                            }else{
                                newString+=  stringSplit[j][z];
                            }
                            num2 = 0;
                            num = 0;
                            
                        }
                    }
                }else{//不包含
                    console.log(false)
                    newString+= stringSplit[j];
                }
            }
            var gg = newString.substr(1)
            newLists = gg.split(",")
            var b = newLists.sort((a,b)=>{
                if(parseInt(a.split(".")[0]) > parseInt(b.split(".")[0])){
                    return 1;
                }else{
                    return -1;
                }
                
            });
            let c =  document.getElementById("q");
            for(var i =0;i<b.length;i++){
                var br = document.createElement("p");
                br.innerHTML =  b[i].split('.')[0]+".&nbsp;  "+b[i].split(".")[1];
               c.appendChild(br)
    
            }
        </script>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:乱序字符串重排

          本文链接:https://www.haomeiwen.com/subject/rsvniktx.html