本文僅供 Web 開發(fā)人員的學(xué)習(xí)參考哦~
演示用例:查找“arr”的結(jié)果
**(1) 數(shù)值排序 | 上升 [???]**
```js
const arr = [40, 100, 1, 5, 25, 10];
arr.sort(function(a, b){
return a-b;
});
```
之前:[40,100,1,5,25,10]
之后:[1,5,10,25,40,100]
說明:對于數(shù)字排序,必須創(chuàng)建 Comparator 實體或比較函數(shù)。在上面的代碼片段中,這相當(dāng)于
const compare = function(a, b){ return a-b; };
排序結(jié)果是
arr.sort(compare);
**(2) 數(shù)值排序 | 降序[???]**
```js
const arr = [40, 100, 1, 5, 25, 10];
arr.sort(function(a, b){
return b-a; // swap the positions of a and b
});
```
之前:[40,100,1,5,25,10]
之后:[100,40,25,10,5,1]
**(3) 字母排序 | 上升? [???]**
```js
const arr = ["Blue", "Orange", "Aqua", "Marine"];
arr.sort();
```
之前:[“藍(lán)色”、“橙色”、“水色”、“海洋”]
之后:[“水色”、“藍(lán)色”、“海洋”、“橙色”]
?字母排序行為在 JavaScript 中不太直觀。僅當(dāng)數(shù)組中的所有元素都被讀取為(類型)字符串時,內(nèi)置的默認(rèn) sort() 函數(shù)才適用于 JavaScript 數(shù)組。
**(4) 字母排序 | 降序? [???]**
```js
const arr = ["Blue", "Orange", "Aqua", "Marine"];
arr.sort().reverse();
```
之前:[“藍(lán)色”、“橙色”、“水色”、“海洋”]
之后:[“橙色”、“海洋”、“藍(lán)色”、“水綠色”]
?與僅適用于字符串實體的 sort() 函數(shù)不同,JavaScript 中的函數(shù) reverse() 適用于整個數(shù)組并交換元素的位置而不管(類型)。第一個元素成為最后一個元素,反之亦然。
**(5) 日期排序 | 上升 [▲]**
```js
const arr = ["2015-03-25", "2015-02-01", "2015-01-03", "2015-02-02"];
arr.sort(function(a, b){
return new Date(a)-new Date(b);
});
```
之前:[“2015-03-25”、”2015-02-01”、”2015-01-03”、”2015-02-02”]
之后:[“2015–01–03”、”2015–02–01”、”2015–02–02”、”2015–03–25”]
說明:Date 的排序行為與數(shù)字排序非常相似。然而,JavaScript 數(shù)組中的 String 實體必須首先被解析為 Date 對象,因為它們可以根據(jù)相對日期出現(xiàn)進(jìn)行排序。
(6) 日期排序 | 降序 [▼]
類似于數(shù)字排序...
```js
const arr = ["2015-03-25", "2015-02-01", "2015-01-03", "2015-02-02"];
arr.sort(function(a, b){
return new Date(b)-new Date(a); // swap the positions of a and b
});
```
之前:[“2015-03-25”、”2015-02-01”、”2015-01-03”、”2015-02-02”]
之后:[“2015–03–25”、”2015–02–02”、”2015–02–01”、”2015–01–03”]
以上是對 JavaScript 數(shù)組進(jìn)行排序的 6 個代碼片段列表的總結(jié)!
**- End -**
更多關(guān)于“html5培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗,課程大綱更科學(xué)更專業(yè),有針對零基礎(chǔ)的就業(yè)班,有針對想提升技術(shù)的提升班,高品質(zhì)課程助理你實現(xiàn)夢想。