sort();
html:
<h3>字符串數組排序前</h3> <div id="show1"></div> <h3>排序后</h3> <div id="show2"></div>
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
js:
$(function(){ var mm = ['dog','cat','tiger','pig','bird']; $('#show1').html(mm.join("<br>")); mm = mm.sort(); $('#show2').html(mm.join("<br>")); });
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
結果:
字符串數組排序前
dog
cat tiger pig bird 排序后 bird cat dog pig tiger
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
js換成數字:
var nums = ['12','2','5','36','4']; $('#show1').html(nums.join('<br/>')); nums = nums.sort(); $('#show2').html(nums.join('<br/>'));
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
結果:
字符串數組排序前
12
2
5
36
4
排序后
12
2
36
4
5
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
這個不是理想的結果,解決:
var nums = ['12','2','5','36','4']; $('#show1').html(nums.join('<br/>')); nums = nums.sort(function(a,b){ return a-b; }); $('#show2').html(nums.join('<br/>'));
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
結果:
字符串數組排序前
12
2
5
36
4
排序后
2
4
5
12
36
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
知識點:
sort(function(a,b){return a-b;})對傳入的一對值進行比較,然后返回的的值為:小於0,大於0,等於0;(大於0交換位置,反之則不)
-
當小於0時,說明b>a,故b的排序靠后(即不變).
-
當大於0時,說明a>b,故a的排序靠后.
-
當等於0時,說明a=b,故不改變排序.
如果對數值數組的值進行降序排序。那么只要把返回的值改為b-a!