JavaScript中的冒泡排序法
利用sort()冒泡排序:
var arr = [5,39,8,1,2,13,55]; arr = arr.sort(function(a,b){return a-b}); console.log(arr);//1,2,5,8,13,39,55
不聲明第三個變量冒泡排序:
第一層遍歷數(shù)組的個數(shù)(要遍歷多少次),第二次遍歷(共要循環(huán)幾次)
a = 10; //第一個元素 b = 5; //下一個元素 if(a>b){ a = a+b; // a(15) = 10 +5; b = a-b; // b(10) = 15 - 5; a = a-b; // a(5) = 15 - 10; } var arr = [5,39,8,1,2,13,55]; function jssort(ele){ for (var i=0;i<ele.length;i++){ //要循環(huán)多少次 for (var j=0;j<ele.length-i-1;j++){ //要移動幾次 if(ele[j]>ele[j+1]){ ele[j]=ele[j]+ele[j+1]; //a = a+b ele[j+1]=ele[j]-ele[j+1];//b = a-b ele[j]=ele[j]-ele[j+1]; //a = a-b } } } return ele; } console.log(jssort(arr));//1,2,5,8,13,39,55
今天在網(wǎng)上看見這樣一個冒號排序
一個數(shù)組包含元素號,“110金剛3號”,“200金剛1號”,“50金剛2號”,“30金剛6號”,“30金剛5號”,“30金剛4號” 如何根據(jù)字符串中后面的多少號對數(shù)組進行排序。
答案:利用sort()排序,在回調(diào)函數(shù)中使用正則表達式
arr.sort(function(a,b){return parseInt(a.match(/(\d+)(?=號)/)[1])-parseInt(b.match(/(\d+)(?=號)/)[1])});
match() 方法可在字符串內(nèi)檢索指定的值,或找到一個或多個正則表達式的匹配。
該方法類似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
a.match(/(\d+)(?=號)/ //數(shù)字+零次或一次匹配前面的字符或子表達式。
下面大家看下js冒泡排序?qū)嵗?/strong>
例子,js實現(xiàn)冒泡排序的例子。
<html> <head> <script type="text/javascript"> function sort (arr) { for (var i = 0;i<arr.length;i++) { for (var j = 0; j < arr.length-i-1; j++) { if (arr[j]<arr[j+1]) { var temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } return arr; } var arr=[2,5,3,1,7,8,78,89]; sort(arr); </script> </head> <body> </body> </html>
以上所述是小編給大家介紹的JavaScript中的冒泡排序法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
JavaScript 節(jié)點操作 以及DOMDocument屬性和方法
最近發(fā)現(xiàn)DOMDocument對象很重要,還有XMLHTTP也很重要 注意大小寫一定不能弄錯.2007-12-12javascript結(jié)合html5 canvas實現(xiàn)(可調(diào)畫筆顏色/粗細/橡皮)的涂鴉板
js+html5 canvas實現(xiàn)的涂鴉畫板特效,可調(diào)畫筆顏色|粗細|橡皮,可以保存涂鴉效果為圖片編碼,測試了下還不錯,感興趣的朋友可以參考下2013-04-04Bootstrap實現(xiàn)的標(biāo)簽頁內(nèi)容切換顯示效果示例
這篇文章主要介紹了Bootstrap實現(xiàn)的標(biāo)簽頁內(nèi)容切換顯示效果,結(jié)合完整實例形式分析了基于Bootstrap實現(xiàn)的標(biāo)簽頁內(nèi)容切換顯示功能相關(guān)操作技巧,非常簡單實用,需要的朋友可以參考下2017-05-05