jquery数组(排序)

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>"));
        });

结果:

字符串数组排序前

dog
cat
tiger
pig
bird

排序后

bird
cat
dog
pig
tiger

js换成数字:

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

            nums = nums.sort();
            $('#show2').html(nums.join('<br/>'));

结果:

字符串数组排序前

12
2
5
36
4

排序后

12
2
36
4
5

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

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

结果:

字符串数组排序前

12
2
5
36
4

排序后

2
4
5
12
36

知识点:

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值