利用sort()冒泡排序: 不聲明第三個變數冒泡排序: 第一層遍曆數組的個數(要遍歷多少次),第二次遍歷(共要迴圈幾次) a = 10; //第一個元素 b = 5; //下一個元素 if(a>b){ a = a+b; // a(15) = 10 +5; b = a-b; // b(10) = 15 ...
利用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
不聲明第三個變數冒泡排序:
第一層遍曆數組的個數(要遍歷多少次),第二次遍歷(共要迴圈幾次)
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++){ //要迴圈多少次 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
今天在網上看見這樣一個冒號排序
一個數組包含元素號,“110金剛3號”,“200金剛1號”,“50金剛2號”,“30金剛6號”,“30金剛5號”,“30金剛4號” 如何根據字元串中後面的多少號對數組進行排序。
答案:利用sort()排序,在回調函數中使用正則表達式
arr.sort(function(a,b){return parseInt(a.match(/(\d+)(?=號)/)[1])-parseInt(b.match(/(\d+)(?=號)/)[1])});
match() 方法可在字元串內檢索指定的值,或找到一個或多個正則表達式的匹配。
該方法類似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字元串的位置。
a.match(/(\d+)(?=號)/ //數字+零次或一次匹配前面的字元或子表達式。