今天更正了對陣列中sort()方法的錯誤認識。
var values = [0,1,5,10,15];
values.sort();
console.log(values);
//輸出0,1,10,15,5
以前一直認為結果應該是0,1,5,10,15,結果與事實不符。原來sort()方法是通過呼叫每個陣列項的tostring()方法,比較得到的字串來實現排序的。即使陣列中的每一項都是數值,sort()方法比較的也是字串,雖然5<10,但是在進行字串比較時,"10"則位於"5"前面。
因此,sort()可以接受乙個比較函式作為引數,以便我們指定哪個值位於前面。
var values = [0,1,5,10,15];
values.sort(compare);
console.log(values);
function compare (value1,value2) else if (value1 > value2) else
}//輸出0,1,5,10,15
如果第乙個引數應該位於第二個之前則返回乙個負數,反之返回乙個正數,如果相等就返回0。
現在實現的是公升序,反過來就可以實現降序。
對於上述比較函式,我們可以簡化:
var values = [0,1,5,10,15];
values.sort(compare);
console.log(values);
function compare (value1,value2)
陣列的sort 方法
sort 方法是陣列自帶的一種排序方法,預設情況下會將元素按照字串進行比較。1.當元素為字串時 將元素從字串從第一位開始比較,第一位相同時比較後一位。var arr cb a g cy arr.sort console.log arr a cb cy g 2.當元素為數字時 預設將數字元素當做字串來...
js中陣列Array物件的方法sort 的應用
一 sort 方法的介紹 給一組資料排序 var arrnum 12,1,9,23,56,100,88,66 console.log 排序前的陣列 arrnum arrnum.sort 預設按照字母排序 console.log 排序後的陣列 arrnum 對陣列進行公升序排列,將函式作為引數傳入 a...
Python中的sort 方法
python中的sort 和sorted 一 sort 列表有自己的sort方法,其對列表進行原址排序,既然是原址排序,那顯然元組不可能擁有這種方法,因為元組是不可修改的。lst 3,6 2,4 lst.sort para cmp,key,reverse printlst 2,3,4,6 如果需要乙...