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=”width: 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=”width: 300px” /></p>

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

<p>漢字拼音順序排序結果:<br />
<textarea id=”r2″ style=”width: 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+)的瀏覽器中均得到了支持。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM