amp@java

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            99 隨筆 :: 0 文章 :: 228 評論 :: 0 Trackbacks

          JavaScript里的Array有一個sort方法:

          來自微軟的Jscript文檔

          返回一個元素已經進行了排序的 Array 對象。

          arrayobj.sort(sortfunction) 

          參數

          arrayObj
          必選項。任意 Array 對象。
          sortFunction
          可選項。是用來確定元素順序的函數的名稱。如果這個參數被省略,那么元素將按照 ASCII 字符順序進行升序排列。

          說明

          sort 方法將 Array 對象進行適當的排序;在執行過程中并不會創建新的 Array 對象。

          如果為 sortfunction 參數提供了一個函數,那么該函數必須返回下列值之一:

          • 負值,如果所傳遞的第一個參數比第二個參數小。
          • 零,如果兩個參數相等。
          • 正值,如果第一個參數比第二個參數大。


          因此,排序的關鍵就在于如何設置sortfunction這個函數了。
          在JavaScript中,字符串有一個localeCompare方法,能夠根據區域設置來排序,中文的話就是按照拼音排序了。

          來自微軟的Jscript文檔

          返回一個值,指出在當前的區域設置中兩個字符串是否相同。

          stringVar.localeCompare(stringExp)

          參數

          stringVar
          必選項。一個 String 對象文字。
          stringExp
          必選項。將與 stringVar 進行比較的字符串。

          說明

          localeCompare 可以對 stringVarstringExp 進行一個區分區域設置的字符串比較并返回 –1、0 或 +1,這取決于系統中缺省區域設置的排序。

          如果 stringVar 排序在 stringExp 之前,那么 localeCompare 返回 –1;如果 stringVar 排序在 stringExp 之后,則返回 +1。如果返回值為 0,那就說明這兩個字符串是相同的。


          把以上兩個方法結合,就可以輕松實現按照拼音順序對多個字符串進行排序了。

          例子可以見這里:
          http://hi.baidu.com/aaxh/blog/item/eb6ddaf953327858252df218.html
          posted on 2007-04-16 15:08 amp@java 閱讀(994) 評論(0)  編輯  收藏 所屬分類: WEB
          主站蜘蛛池模板: 东乡族自治县| 永新县| 和平县| 武汉市| 威宁| 曲麻莱县| 扎鲁特旗| 分宜县| 昆山市| 清水河县| 台北县| 大足县| 呼伦贝尔市| 嵊州市| 石泉县| 祁阳县| 安庆市| 若羌县| 东至县| 聂拉木县| 玉环县| 大英县| 绥江县| 搜索| 铁岭县| 江西省| 监利县| 博白县| 会同县| 来凤县| 南木林县| 黎城县| 凌海市| 明星| 久治县| 安岳县| 乐陵市| 石楼县| 清河县| 加查县| 光山县|