亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JS中使用sort結合localeCompare實現中文排序實例

2019-11-20 14:19:57
字體:
來源:轉載
供稿:網友

說到表格排序,首先要說的就一定是數組的排序,因為數組排序是表格排序的基礎。

JavaScript為數組提供了sort()方法用于表格排序,默認情況下該方法會使Array中的數組按照ASCII碼的順序進行排列,JavaScript還為數組提供了數組倒序的方法reverse()。

看一下示例:

復制代碼 代碼如下:

 function sortArray(){
             var arrayTest = ["z",5,2,"a",32,3];
             arrayTest.sort();
             alert(arrayTest.toString());     //output:2,3,32,5,a,z
             arrayTest.reverse();
             alert(arrayTest.toString());    //output:z,a,5,32,3,2
         }
         sortArray();


呵呵,5比32還要大,很明顯這不是我們想要的結果,剛才已經說過sort()方法是按照ASCII碼的順序排序的。

其實sort()方法還允許帶一個函數類型的的參數,我們可以稱之為比較函數,當該比較函數又可以接收兩個參數,以下該函數返回值的意義:

復制代碼 代碼如下:

-1:第一個參數 小于 第二個參數
0:第一個參數 等于 第二個參數
1:第一個參數 大于 第二個參數

復制代碼 代碼如下:

/**
  * 比較函數
  * @param {Object} param1 要比較的參數1
           * @param {Object} param2 要比較的參數2
           * @return {Number} 如果param1 > param2 返回 1
           *                     如果param1 == param2 返回 0
           *                     如果param1 < param2 返回 -1
           */
          function compareFunc(param1,param2){
             //如果兩個參數均為字符串類型
             if(typeof param1 == "string" && typeof param2 == "string"){
                 return param1.localeCompare(param2);
             }
             //如果參數1為數字,參數2為字符串
             if(typeof param1 == "number" && typeof param2 == "string"){
                 return -1;
             }
             //如果參數1為字符串,參數2為數字
             if(typeof param1 == "string" && typeof param2 == "number"){
                 return 1;
             }
             //如果兩個參數均為數字
             if(typeof param1 == "number" && typeof param2 == "number"){
                 if(param1 > param2) return 1;
                 if(param1 == param2) return 0;
                 if(param1 < param2) return -1;
             }
         }

當我們執行arrayTest.sort(compareFunc)時我們就得到了正確的結果。
到這里,我們不得不說明一下localeCompare()方法的用法,該方法是對字符串進行排序的方法,只有一個參數即要比較的字符串。

具體說明如下:

1、如果String對象按照字母順序排在參數中的字符串之前,返回負數
2、如果String對象按照字符順序排在參數中的字符串之后,返回正數
3、如果String對象等于參數中的字符串返回0

除此之外,localeCompare()方法還有一個獨特之處,這個獨特之處可以在其方法簽名locale(現場、當地)上得以體現,也就是說他的實現時按照區域特性來的,如果在英語體系中,他的實現可能是按照字符串升序,如果在漢語中,他的實現則是按照首字母的拼音。

呵呵,這也就是說就算我們在程序中涉及漢字,我們的排序也不回出錯。
參考以下程序:

復制代碼 代碼如下:

var testArray = ["腳","本","之","家"];
         document.write(testArray.sort(
             function compareFunction(param1,param2){
                 return param1.localeCompare(param2);  //output:之,家,本,腳
             }
         ));

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美最猛性xxxxx(亚洲精品)| 国产精品一区二区三| 韩国视频理论视频久久| 欧美极品少妇xxxxⅹ裸体艺术| 日韩在线免费av| 亚洲欧美日韩直播| 国产黑人绿帽在线第一区| 国产精品国语对白| 韩国精品美女www爽爽爽视频| 91在线观看免费| 国产精品视频大全| 久久天天躁狠狠躁夜夜av| 欧美成人精品xxx| 国产视频亚洲精品| 国产一区深夜福利| 亚洲人高潮女人毛茸茸| 欧美精品久久久久久久免费观看| 国产精品ⅴa在线观看h| 日韩精品一区二区三区第95| 亚洲一品av免费观看| 亚洲图片欧美日产| www.久久色.com| 国产精品久久久久久久久久久新郎| 久久久久久久久网站| 91人人爽人人爽人人精88v| 日本成人在线视频网址| 91网站免费看| 亚洲国产成人精品久久久国产成人一区| 精品二区三区线观看| 国产成人鲁鲁免费视频a| 色婷婷综合久久久久中文字幕1| 日韩精品在线看| 97激碰免费视频| 亚洲18私人小影院| 欧美有码在线视频| 91久热免费在线视频| 久久精品亚洲精品| 亚洲欧美日韩天堂一区二区| 亚洲色图欧美制服丝袜另类第一页| 性亚洲最疯狂xxxx高清| 国产精品美女在线| 中文字幕日本精品| 亚洲欧美三级在线| 777777777亚洲妇女| 97国产在线视频| 欧美猛交ⅹxxx乱大交视频| 国语自产精品视频在线看一大j8| 日韩在线观看免费高清完整版| 亚洲第一级黄色片| 欧美亚洲视频在线看网址| 国产日韩精品在线| 亚洲日本成人网| 国产精品第2页| 91精品国产91久久久久久久久| www日韩中文字幕在线看| 中文字幕亚洲欧美一区二区三区| 成人国产精品日本在线| 粗暴蹂躏中文一区二区三区| 国产精品国产三级国产aⅴ浪潮| 国产精品三级久久久久久电影| 国产精品成人v| 成人在线免费观看视视频| 久久精品国产96久久久香蕉| 欧美亚洲视频一区二区| 欧美猛交ⅹxxx乱大交视频| 伊人成人开心激情综合网| 国产精品igao视频| 亚洲国产成人精品一区二区| 精品国产一区久久久| 国产一区二区三区18| 欧美另类精品xxxx孕妇| 在线观看免费高清视频97| 亚洲一区亚洲二区亚洲三区| 亚洲人成啪啪网站| 国产精品精品久久久| 日本国产一区二区三区| 久久久女女女女999久久| 国产日韩在线看| 欧美xxxx18性欧美| 欧美黄色小视频| 亚洲日韩欧美视频一区| 亚洲丝袜av一区| 57pao成人永久免费视频| 成人免费xxxxx在线观看| 在线观看欧美成人| 日韩av网站导航| 欧美激情成人在线视频| 日韩av在线最新| 亚洲国产精品久久久久秋霞不卡| 久久久国产一区二区| 国产又爽又黄的激情精品视频| 欧美午夜宅男影院在线观看| 久久不射热爱视频精品| 久久久久久久久久久网站| 欧美激情亚洲视频| 色婷婷av一区二区三区久久| 亚洲视频网站在线观看| 日本高清+成人网在线观看| 日韩国产精品一区| 日韩精品999| 久久久久久久香蕉网| 亚洲国产日韩欧美综合久久| 国产亚洲综合久久| 91av在线视频观看| 亚洲国产精品va在线观看黑人| 欧洲中文字幕国产精品| 国产精品日韩精品| 亚洲欧洲高清在线| 午夜欧美大片免费观看| 亚洲欧美在线一区二区| 久久久精品2019中文字幕神马| 精品视频偷偷看在线观看| 粉嫩老牛aⅴ一区二区三区| 黄色精品一区二区| 亚洲国产精品va在线看黑人动漫| 一级做a爰片久久毛片美女图片| 国产一区二区三区久久精品| 91精品成人久久| 成人a级免费视频| 亚洲精品一区二三区不卡| 久久久精品国产一区二区| 欧美色图在线视频| 国产精自产拍久久久久久| 91精品国产91| 中文在线资源观看视频网站免费不卡| 亚洲精品久久久一区二区三区| 8090理伦午夜在线电影| 日韩中文字幕网站| 亚洲电影免费观看| 欧美伦理91i| 亚洲精品欧美日韩| 久久精品国产2020观看福利| 97香蕉久久夜色精品国产| 国产成人精品久久久| 欧美日韩高清在线观看| 中文字幕亚洲一区二区三区五十路| 国产精品久久久久久久久久久久久久| 91高清免费在线观看| 亚洲韩国青草视频| 国产91精品在线播放| 亚洲春色另类小说| 色av吧综合网| 日韩亚洲精品视频| 国产福利精品av综合导导航| 午夜精品久久久久久99热软件| 亚洲性无码av在线| 国产成人拍精品视频午夜网站| 在线观看日韩av| 国产欧美在线看| 亚洲精品自在久久| 久久免费视频网站| 国产日韩中文字幕| 欧美在线性视频| 国产精品视频一区国模私拍| 一区二区三区天堂av| 欧美风情在线观看| 日韩美女免费线视频| 国产视频综合在线| 中文字幕一精品亚洲无线一区| 久久精品人人爽| 欧美日韩爱爱视频| 亚洲精品视频在线观看视频| 亚洲人成电影网站色xx| 久久精品视频在线观看|