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
          主站蜘蛛池模板: 溧阳市| 富民县| 边坝县| 万山特区| 同江市| 峡江县| 天峻县| 湖南省| 蒙阴县| 保靖县| 长子县| 宣化县| 天峻县| 无棣县| 来安县| 留坝县| 新邵县| 元氏县| 延津县| 周至县| 鲁山县| 永川市| 深水埗区| 南丹县| 马公市| 新沂市| 韶关市| 叙永县| 东乡| 新竹市| 天峻县| 浑源县| 宁河县| 敖汉旗| 焉耆| 朝阳市| 舒兰市| 太原市| 新竹县| 民县| 突泉县|