数组的操作方法

两个方法都是用来重排数组的,reverse()倒序排列数组这个就不用多说了,但是因为其用法比较单一,所以有了sort()方法,

sort()原理:sort()方法会调用数组中每个项,然后用toString()方法转型,比较得到的字符串,来确定如何排序,但是真是因为其原理是字符串比较所以就会出现问题,如下:

var arr = [0,1,5,10,15];
arr,sort();
console.log(arr)  //0,1,10,15,5

但是sort()接收两个参数,返回三种情况:

(1)如果第一个参数应该位于第二个参数之前返回(第一个参数小于第二个参数)则返回一个负数

(2)如果第一个参数应该位于第二个参数之后返回(第一个参数大鱼第二个参数)则返回一个正数

(3)如果两个参数相等,则返回0

例:

function compare (value1,value2){
    if(value1<value2){
        return -1;
    } else if(value1>value2){
        return 1;
    }else{
        return 0;
    };
};
var arr = [0,1,5,10,15];
arr.sort(compare);
console,log(arr); //0,1,5,10,15

或者有一个更简单的方法来写排序
function compare (value1, value2){
    return value1 - value2;
};

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值