6 個用於排序陣列的 JavaScript 程式碼片段

本文僅供 Web 開發人員的學習參考哦~

演示用例:查詢“arr”的結果

(1) 數值排序 | 上升 [⇣⁰₉]

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]

說明:對於數字排序,必須建立 Comparator 實體或比較函式。在上面的程式碼片段中,這相當於

const compare = function(a, b){ return a-b; };

排序結果是

arr。sort(compare);

(2) 數值排序 | 降序[⇣⁹₀]

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) 字母排序 | 上升✷ [⇣ᴬᴢ]

const arr = [“Blue”, “Orange”, “Aqua”, “Marine”];arr。sort();

之前:[“藍色”、“橙色”、“水色”、“海洋”]

之後:[“水色”、“藍色”、“海洋”、“橙色”]

✷字母排序行為在 JavaScript 中不太直觀。僅當陣列中的所有元素都被讀取為(型別)字串時,內建的預設 sort() 函式才適用於 JavaScript 陣列。

(4) 字母排序 | 降序✷ [⇣ᶻᴀ]

const arr = [“Blue”, “Orange”, “Aqua”, “Marine”];arr。sort()。reverse();

之前:[“藍色”、“橙色”、“水色”、“海洋”]

之後:[“橙色”、“海洋”、“藍色”、“水綠色”]

✷與僅適用於字串實體的 sort() 函式不同,JavaScript 中的函式 reverse() 適用於整個陣列並交換元素的位置而不管(型別)。第一個元素成為最後一個元素,反之亦然。

(5) 日期排序 | 上升 [▲]

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 的排序行為與數字排序非常相似。然而,JavaScript 陣列中的 String 實體必須首先被解析為 Date 物件,因為它們可以根據相對日期出現進行排序。

(6) 日期排序 | 降序 [▼]

類似於數字排序。。。

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 陣列進行排序的 6 個程式碼片段列表的總結!

- End -