arrayobj.sort(sortfunction);
引數:sortfunction
可選項。是用來確定元素順序的函式的名稱。如果這個引數被省略,那麼元素將按照 ascii 字元順序進行公升序排列。
sort 方法將 array 物件進行適當的排序;在執行過程中並不會建立新的 array 物件。
如果為 sortfunction 引數提供了乙個函式,那麼該函式必須返回下列值之一:
負值,如果所傳遞的第乙個引數比第二個引數小。
零,如果兩個引數相等。
正值,如果第乙個引數比第二個引數大。
通過實際例子來了解sort函式
1.字串排序
var fruits
=[
"banana",
"orange",
"mango"
];
fruits.
sort
();
fruits.
reverse
();
2.數字排序
從小到大
var points
=[
40,100,
1, 5,
25,10];
points.
sort
(
function
(a,b
));
//排序結果是1,5,10,25,40,100
從大到小
var points
=[
40,100,
1, 5,
25,10];
points.
sort
(
function
(a,b
));
//排序結果是100,40,25,10,5,1
以上的方法在一維的排序還是很方便的,但像sql語句中的order by 一樣的多鍵值排序由怎麼做呢?
多維陣列的多鍵值排序,則需要複雜一些,但不需要用迴圈解決。實際解決的道理是一樣的 。
數字:
以下的例子是將數字的多維陣列按照第3列,像sql語句中的order by col。數字的時候可以直接兩個專案相減,以結果作為返回值即可。
字元:字元的時候sortfunction中的專案不能像數字一樣直接相減,需要呼叫
str1.localecompare( str2 )方法來作比較,從而滿足返回值。以下是多維陣列的第1,2列作排序的情況。
functionsortfunction
(array
)
);
}
Js陣列排序函式sort
js實現多維陣列和物件陣列排序,用的其實就是原生sort 函式,語法為 arrayobject.sort sortby sortby 可選。規定排序順序。必須是函式。返回值為對陣列的引用 請注意,陣列在原陣列上進行排序,不生成副本。如果呼叫該方法時沒有使用引數,將按字母順序對陣列中的元素進行排序,說...
Js 陣列排序函式sort
最近看到乙個js函式sort 覺得挺有意思,寫在這裡與大家分享。如果有什麼地方不對或者有更好的寫法,也請大家不吝賜教。sort 返回乙個元素已經進行了排序的 array 物件。1.按字母排序 直接使用sort 函式,預設按字母順序排。var arr new array dd aa bb cc arr...
理解js陣列的sort函式排序
每次用js的sort函式排序都容易犯錯誤,當時搞懂了一段時間就又忘了。現在來把它摟一摟。sort函式的用法 arr 3,2,1 arr.sort a,b 其實這個函式確實設計得有點奇怪,他讓你傳入乙個自己的函式來確實排序演算法,所以關鍵是自己怎麼來寫這個比較函式,關於這個返回值 我很容易就想到 tr...