陣列的操作方法
阿新 • • 發佈:2018-11-13
兩個方法都是用來重排陣列的,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; };