sort方法不僅按字母順序進行排序,還可以根據其他順序執行操作.這時就必須為方法提供乙個比較函式的引數,該函式要比較兩個值,然後返回乙個用於說明這兩個值得相對順序的數字.比較函式應該具有兩個引數a和b,其返回值如下:
如果根據自定義評判標準,a小於b,在排序後的陣列中a應該出現在b之前,就返回乙個小於0的值
如果a等於b,就返回0
如果a大於b,就返回乙個大於0的值
下面的示例中,將根據比較函式來比較陣列中每個元素的大小,並按從小到大順序排序
functionf(a,b)
var a = [4,3,5,6,7,3,6,8]
a.sort(f)
console.log(a);
//[3, 3, 4, 5, 6, 6, 7, 8]
如果是從大到小,則讓返回值取反就好
functionf(a,b)
var a = [4,3,5,6,7,3,6,8]
a.sort(f)
console.log(a);
//[8, 7, 6, 6, 5, 4, 3, 3]
(1) 根據奇偶性值排列陣列
sort方法用法比較靈活,但更靈活的是對比較函式的設計.例如:要根據奇偶數順序排列陣列,只需要判斷比較函式中兩個引數是否為奇偶數,並決定排列順序
functionf(a,b)
var a = [3,1,2,4,5,7,6,8,0,9]
a.sort(f)
console.log(a);
//[3, 1, 5, 7, 9, 0, 8, 6, 4, 2]
sort方法在呼叫比較函式時,將每個元素值傳遞給比較函式,如果元素值為偶數,則保留其位置不動,如果元素值為奇數,則調換引數a和b的顯示順序,從而實現陣列中所有元素執行奇偶排序.
(2) 不區分大小寫排序字串
如果不希望區分字母大小,也就是說大寫字母和小寫字母按相同順序排列
functionf(a,b)
else
}var a = ['ab','ab','ba','ba']
a.sort(f)
console.log(a);
//["ab", "ab", "ba", "ba"]
(3) 把浮點數和整數分開排列
functionf(a,b)
if(b>math.floor(b))
}var a = [3.555,3,2.111,5,7,3]
a.sort(f)
console.log(a);
//[3, 5, 7, 3, 2.111, 3.555]
jquery 陣列sort 排序
排序前 var animals dog cat tiger pig bird 排序後animals animals.sort show6 html animals.join bird catdog pigtiger排序前 var ar nums 12 2 5 36 4 排序後nums nums.so...
jquery陣列 sort 排序
html 12 show5 34 show6 jquery var animals dog cat tiger pig bird show5 html animals.join animals animals.sort show6 html animals.join 顯示結果 字串陣列排序前 dog...
javascript陣列的排序(sort,冒泡)
一 js的sort 方法 var arr 10,20,1,2 arr.sort function a,b return 0 console.log arr 1,2,10,20 如上面 按照正序 由小到大 排列。通常規定,如果ab,則返回1 如果a b,則返回0 倒序相反。var arr 10,20,...