法一:升序原理:迴圈嵌套即雙向遍歷,在從前往後的遍歷過程中,如果前一個位子大於後一個位子,把前一個位子的值付給後一個位子, 在從後往前遍歷過程中如果前一個值大於後一個的值,把前面的值付給後面,過程中把被賦值位子的值用變數接收在賦值,否則無效。 降序同理 法二:自定義比較器(匿名函數),簡單暴力快捷 ...
法一:升序原理:迴圈嵌套即雙向遍歷,在從前往後的遍歷過程中,如果前一個位子大於後一個位子,把前一個位子的值付給後一個位子,
在從後往前遍歷過程中如果前一個值大於後一個的值,把前面的值付給後面,過程中把被賦值位子的值用變數接收在賦值,否則無效。
降序同理
function getNew(a){ for (var i = 0; i < a.length; i++) { for (var j= a.length - 1; j>= 0; j--) { if(a[i]>a[i+1]){ var elem=a[i]; a[i]=a[i+1]; a[i+1]=elem; }else if(a[j-1]>a[j]){ var sm=a[j]; a[j]=a[j-1]; a[j-1]=sm; } } } console.log(a); } getNew([6,2,3,1,10,8]);//[1, 2, 3, 6, 8, 10]
法二:自定義比較器(匿名函數),簡單暴力快捷
function getNew(a){ a.sort(function(a,b){return a-b});//升序 //a.sort(function(a,b){return b-a});降序 console.log(a); } getNew([6,2,3,1,10,8]);//[1, 2, 3, 6, 8, 10]