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
不聲明第三個(gè)變量冒泡排序:
第一層遍歷數(shù)組的個(gè)數(shù)(要遍歷多少次),第二次遍歷(共要循環(huán)幾次)
a = 10; //第一個(gè)元素
b = 5; //下一個(gè)元素
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++){ //要移動(dòng)幾次
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)上看見這樣一個(gè)冒號(hào)排序
一個(gè)數(shù)組包含元素號(hào),“110金剛3號(hào)”,“200金剛1號(hào)”,“50金剛2號(hào)”,“30金剛6號(hào)”,“30金剛5號(hào)”,“30金剛4號(hào)” 如何根據(jù)字符串中后面的多少號(hào)對(duì)數(shù)組進(jìn)行排序。
答案:利用sort()排序,在回調(diào)函數(shù)中使用正則表達(dá)式
arr.sort(function(a,b){return parseInt(a.match(/(\d+)(?=號(hào))/)[1])-parseInt(b.match(/(\d+)(?=號(hào))/)[1])});
match() 方法可在字符串內(nèi)檢索指定的值,或找到一個(gè)或多個(gè)正則表達(dá)式的匹配。
該方法類似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
a.match(/(\d+)(?=號(hào))/ //數(shù)字+零次或一次匹配前面的字符或子表達(dá)式。
下面大家看下js冒泡排序?qū)嵗?/strong>
例子,js實(shí)現(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中的冒泡排序法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
js抽獎(jiǎng)轉(zhuǎn)盤實(shí)現(xiàn)方法分析
這篇文章主要介紹了js抽獎(jiǎng)轉(zhuǎn)盤實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了js抽獎(jiǎng)轉(zhuǎn)盤原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-05-05
javascript實(shí)現(xiàn)仿騰訊游戲選擇
這篇文章主要介紹了javascript實(shí)現(xiàn)仿騰訊游戲選擇,簡(jiǎn)單實(shí)現(xiàn)的下拉菜單二級(jí)聯(lián)動(dòng)效果,十分不錯(cuò),有需要的小伙伴可以參考下。2015-05-05
JS 實(shí)現(xiàn)緩存算法的示例(FIFO/LRU)
這篇文章主要介紹了JS 實(shí)現(xiàn)緩存算法的示例(FIFO/LRU),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2018-03-03
理解javascript中的Function.prototype.bind的方法
這篇文章主要介紹了理解javascript中的Function.prototype.bind的方法,具有一定參考價(jià)值,有興趣的可以了解一下。2017-02-02

