利用冒泡排序法实现select option按中文排序组件
生活随笔
收集整理的這篇文章主要介紹了
利用冒泡排序法实现select option按中文排序组件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*
*給當前的select元素排序,
*@ param selectObj:當前的select元素
*@ param sortType:排序類型 desc:降序 asc:升序
*/
function sort(selectObj,sortType){ var optionsObj=selectObj.options;var optionsLength=optionsObj.length;var exchang;var tempValue1;var tempValue2;if(StringUtils.isBlank(sortType)){sortType="desc";}if(sortType=="desc"){// 降序for (i = 0; i < optionsLength; i++) //最多做R.Length-1趟排序 {exchange = false; //本趟排序開始前,交換標志應為假for (j =optionsLength-2; j >= i; j--){ tempValue1=optionsObj[j + 1].text;tempValue2=optionsObj[j].text if (tempValue1.localeCompare(tempValue2)>0) //<0說明tempValue1大于tempValue2{ // alert("降交換==="+tempValue1+"--------"+tempValue2);optionsObj[j].swapNode(optionsObj[j+1]);exchange = true; //發生了交換,故將交換標志置為真 }}if (exchange==false) //本趟排序未發生交換,提前終止算法 {break;}}}else{//升序for (i = 0; i < optionsLength; i++) //最多做R.Length-1趟排序 {exchange = false; //本趟排序開始前,交換標志應為假for (j =optionsLength-2; j >= i; j--){ tempValue1=optionsObj[j + 1].text;tempValue2=optionsObj[j].text if (tempValue1.localeCompare(tempValue2)<0) //<0說明tempValue1小于tempValue2{ // alert("升交換==="+tempValue1+"--------"+tempValue2);optionsObj[j].swapNode(optionsObj[j+1]);exchange = true; //發生了交換,故將交換標志置為真 }}if (exchange==false) //本趟排序未發生交換,提前終止算法 {break;}}} }
?
主要的知識點:localeCompare :實現按照中文音序排序
?????????????????? swapNode在option對象上的使用
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的利用冒泡排序法实现select option按中文排序组件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jscript中window.setIn
- 下一篇: 利用setTimeout方法控制JS中方