zoukankan      html  css  js  c++  java
  • JS 用sort方法排序字符串

    JavaScript提供了一种更简便的方法用于比较两个字符串——localeCompare(),localeCompare()使用本地特定的顺序来比较两个字符串,语法如下:
    string.localeCompare(target)
    参数target是要与string进行比较的字符串。
    如果string小于target,则localeCompare()返回小于0的数;
    如果string大于target,返回大于0的数;
    如果相等(或按照本地顺序的约定两者顺序相当),则返回0。
    利用该方法替换上面冗长的作法后,除了代码减少了之外,运行速度也快了不少,而且还支持其它字符库的本地排序。
    修改后代码如下:

    <html>
    <head>
    <title>汉字排序</title>
    <script type=”text/javascript”>
    <!–
     function startSort(){
      var a=document.getElementById(‘s’).value;
      a=a.split(‘,’)
      a.sort();
      document.getElementById(‘r1′).value=a;
      a.sort(function(a,b){return a.localeCompare(b)}); //正序排列 a.sort(function(a,b){return b.localeCompare(a)}); //反序排列

      document.getElementById(‘r2′).value=a;
     }
      
    //–>
    </script>
    </head>

    <body>
    <p>包含汉字的字符串数组(用逗号”,”隔开):<br />
    <textarea id=”s” style=” 100%; overflow: scroll; word-wrap: normal;” rows=”10″>张韶涵,b土,abort,张学友,something,苹果,五月天,刘德华,香蕉,apple,范玮琪,阿桑</textarea></p>

    <p style=”text-align: center”><input type=”button” value=”排序测试” onclick=”startSort()” style=” 300px” /></p>

    <p>默认排序结果:<br />
    <textarea id=”r1″ style=” 100%; overflow: scroll; word-wrap: normal;” rows=”10″></textarea></p>

    <p>汉字拼音顺序排序结果:<br />
    <textarea id=”r2″ style=” 100%; overflow: scroll; word-wrap: normal;” rows=”10″></textarea></p>

    </body>
    </html>

    该方法目前已作为ECMAScript v3标准,在支持JavaScript 1.5(Mozilla、Netscape 6+)以及JScript 5.5(IE 5.5+)的浏览器中均得到了支持。

  • 相关阅读:
    STM32Cube IDE配置串口发送与接收
    STM32CubeIDE Debug Configurations
    STM32CubeMX FreeRTOS定时器的使用
    单片机处理串口逗号分隔符命令
    自定义任务状态来操作FreeRTOS任务的挂起,恢复,删除
    Halcon WPF C#采集图像区域灰度值
    STM32CubeMX FreeRTOS no definition for "osThreadGetState" 解决办法
    Hyper-V应用
    AutoFixture 数据对象生成器
    visual studio的XAML无法热更新
  • 原文地址:https://www.cnblogs.com/sunshq/p/4414512.html
Copyright © 2011-2022 走看看