jquery数组(排序)

来源:互联网 发布:jenkins没有java home 编辑:程序博客网 时间:2024/05/16 05:51

sort();

html:

<h3>字符串数组排序前</h3><div id="show1"></div><h3>排序后</h3><div id="show2"></div>

js:

$(function(){            var mm = ['dog','cat','tiger','pig','bird'];            $('#show1').html(mm.join("<br>"));            mm = mm.sort();            $('#show2').html(mm.join("<br>"));        });

结果:

字符串数组排序前dogcattigerpigbird排序后birdcatdogpigtiger

js换成数字:

var nums = ['12','2','5','36','4'];            $('#show1').html(nums.join('<br/>'));            nums = nums.sort();            $('#show2').html(nums.join('<br/>'));

结果:

字符串数组排序前1225364排序后1223645

这个不是理想的结果,解决:

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/>'));

结果:

字符串数组排序前1225364排序后2451236

知识点:

sort(function(a,b){return a-b;})对传入的一对值进行比较,然后返回的的值为:小于0,大于0,等于0;(大于0交换位置,反之则不)

  • 当小于0时,说明b>a,故b的排序靠后(即不变).

  • 当大于0时,说明a>b,故a的排序靠后.

  • 当等于0时,说明a=b,故不改变排序.

如果对数值数组的值进行降序排序。那么只要把返回的值改为b-a!

0 0
原创粉丝点击