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!

上一篇:玩转spring boot——结合jQuery和AngularJs


下一篇:exec、source以及bash的区别(zz)