欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript 列表排序

錢諍諍1年前6瀏覽0評論
JavaScript列表排序 在前端開發中,經常需要對列表進行排序。JavaScript提供了多種列表排序方法,可以根據不同需求來選擇不同的方法。 sort方法 sort方法是JS數組自帶的一種排序方法。它對數組的每個元素進行排序,如果不定義比較函數,使用默認的ASCII字符順序進行排序。事實上,在數組中,sort方法通過比較字符串進行排序。比如,當一個數組包含2和10時,sort方法默認會把10排在2前面。 下面是一個JS數組sort方法的示例: ```javascript var ary = new Array("1", "11", "——", "2", "22"); console.log(ary.sort()); // 結果 ["——", "1", "11", "2", "22"] ``` 這個示例中,sort方法對ary數組進行排序,默認是按照之前提到的ASCII字符順序進行排序。'——'排在數字字符前面,1、11、2、22按照字典序排序。 為了讓sort方法按照數字的大小進行排序,需要自定義一個比較函數。比較函數需要接收兩個參數 a 和 b(表示被比較的元素),如果a小于b,返回負整數;如果a等于b,返回0;如果a大于b,返回正整數。按照這個規則可以實現數字的大小比較。 下面是一個按照數字大小排序的示例: ```javascript var ary = new Array(1, 11, 6, 5, 2); console.log(ary.sort(function(a, b){return a-b})); // 結果 [1, 2, 5, 6, 11] ``` 這個示例中,使用函數(function(a, b){return a-b})作為sort方法的參數,表示a比b小或等于-1。因此,sort方法根據數字大小來排序。 sort方法也可以按照字符串大小來排序。下面是一個按照字符串大小排序的示例: ```javascript var ary = new Array("ab", "aa", "bc", "cc", "ca"); console.log(ary.sort(function(a, b){return a.localeCompare(b)})); // 結果 ["aa", "ab", "bc", "ca", "cc"] ``` 這個示例中,使用a.localeCompare(b)函數作為sort方法的參數,表示如果a小于b,返回負整數;如果a等于b,返回0;如果a大于b,返回正整數。因此,sort方法按照字符串大小進行排序。 reverse方法 reverse方法是另外一個JS數組自帶的排序方法。它將數組的元素在原地按相反的順序進行排序。例如: ```javascript var ary = new Array(1, 2, 3, 4, 5); console.log(ary.reverse()); // 結果 [5, 4, 3, 2, 1] ``` 這個示例中,reverse方法將數組元素顛倒。 concat方法 concat方法是將一個或多個數組元素合并成一個新的數組。例如: ```javascript var ary1 = new Array(1, 2, 3); var ary2 = new Array(4, 5, 6); console.log(ary1.concat(ary2)); // 結果 [1, 2, 3, 4, 5, 6] ``` 這個示例中,concat方法將兩個數組合并成一個新的數組。 map方法 map方法可以創建一個新的數組,其中每個元素的值為原數組對應元素執行的函數的返回值。例如: ```javascript var ary = new Array(1, 2, 3); console.log(ary.map(function(a){return a*2})); // 結果 [2, 4, 6] ``` 這個示例中,map方法返回一個新數組,其中每個元素都是原數組中對應元素的兩倍。 以上是JS列表排序方法的一些示例。在使用時,我們需要根據實際情況選擇不同的方法,以獲得最優的排序結果。