1. 程式人生 > >陣列的操作方法

陣列的操作方法

兩個方法都是用來重排陣列的,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;
};