数组的操作方法

两个方法都是用来重排数组的,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;
};

猜你喜欢

转载自blog.csdn.net/qq_37918196/article/details/83657655