问答详情
源自:3-8 编程练习

字符串这样直接.sort()排序会有什么问题吗?

<!DOCTYPE  HTML>
<html >
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>数组</title>
        <script type="text/javascript">
             //创建数组 
             var  arr = ['*','##',"***","&&","****","##*"];   
             arr[7] = "**"; 
     
             //显示数组长度 
             alert(arr.length);  
             
             //将数组内容输出,完成达到的效果。
             var arr2 = arr.filter(item=> /^[*]+/.test(item));
             arr2.sort();
             for(let i=0; i<arr2.length; i++){    
                 document.write(arr2[i]+'<br>');
             }
        </script>
    </head>
    <body>
    </body>
</html>

提问者:慕先生8356100 2022-02-11 16:07

个回答

  • 阳火锅
    2022-08-31 11:45:45

        

       arr.sort(function(a,b){return a.length - b.length;}).forEach(item=>{

           if(!item.includes('#') && !item.includes('&')){

               document.write(item+'<br><br><br>');

           }

       })


  • weixin_慕仔8502228
    2022-02-28 10:06:45

    默认排序顺序是根据字符串UniCode码。因为排序是按照字符串UniCode码的顺序进行排序的,所以首先应该把数组元素都转化成字符串(如有必要),以便进行比较。

    搜索

    复制

  • EchoSeahi
    2022-02-27 15:51:02

    它只是对时间复杂度进行排序,假如遇到**##这类的,就不适用了