jquery数组(排序)
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!