陣列中sort 方法

2021-06-25 10:17:29 字數 831 閱讀 7587

今天更正了對陣列中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 如果需要乙...