JS学习5-js数组的排序(reverse()\sort())

1.reverse()-给数组逆序

var box =['3','2','1','k','I'];
alert(box.reverse())      //返回逆序的数组i,k,1,2,3,且原数组被改变

2.sort()让数组从小到大排列

var box =['3','2','1','k','I'];
alert(box.sort())          //返回 1,2,3,i,k,且原数组被改变

但是sort主要是试用字符的方式排序,在数组上面会有问题

例如:1,10,15,20,3

var box =[1,10,15,20,3];
alert(box.sort())        //返回 是 1,10,15,20,3

     *因为它是按照字符的方式排序,字符比较的是第一个字母然后再是第二个到第N个。

但是我们可以参考微软的js手册,负值,所传递的参数第一个要比第二个小;

                                                     零,如果两个参数相等;

                                                     正值,如果第一个参数比第二个参数大。

function compare(value1,value2){
    if(value1<value2){
        return -1;            
    }else if(value1>value2){
        return 1;
    }else{
        return 0;
    }
}
var box =[1,10,15,20,3];
alert(box.sort(compare))        //返回了 1,3,10,15,20

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值