8.陣列中常用的一些方法(整理中)
阿新 • • 發佈:2021-12-10
array.prototype.sort()
對陣列進行排序,返回排序後的陣列。注意:陣列是原地排序。
語法:arr.sort([compareFunction])
compareFunction
可選用來指定按某種順序進行排列的函式。如果省略,元素按照轉換為的字串的各個字元的Unicode位點進行排序。
firstEl
第一個用於比較的元素。secondEl
第二個用於比較的元素。
如果沒有指明compareFunction
,那麼元素會按照轉換為的字串的諸個字元的Unicode位點進行排序。例如 "Banana" 會被排列到 "cherry" 之前。當數字按由小到大排序時,9 出現在 80 之前,但因為(沒有指明compareFunction
),比較的數字會先被轉換為字串,所以在Unicode順序上 "80" 要比 "9" 要靠前。
如果指明瞭compareFunction
,那麼陣列會按照呼叫該函式的返回值排序。即a和b是兩個將要被比較的元素:
- 如果
compareFunction(a,b)
小於0,那麼a會被排列到b之前;
- 如果
compareFunction(a,b)
等於0,a和b的相對位置不變。備註:ECMAScript標準並不保證這一行為,而且也不是所有瀏覽器都會遵守(例如 Mozilla 在 2003 年之前的版本);
- 如果
compareFunction(a,b)
大於0,b會被排列到a之前。 compareFunction(a,b)
1 var numbers = [4, 2, 5, 1, 3]; 2 numbers.sort((a, b) => a - b); 3 console.log(numbers); 4 5 // [1, 2, 3, 4, 5]