JavaScript Array toSorted()

Definicja i użycie

toSorted() Metoda sortuje elementy tablicy w porządku alfabetycznym.

toSorted() Metoda zwraca nową tablicę.

toSorted() Metoda nie zastępuje oryginalnej tablicy.

toSorted() Metoda ta sort() Kopia metody.

Zobacz również:

Metoda sort() tablicy

Metoda reverse() tablicy

Funkcja porównania sortowania

Sortowanie alfabetyczne stringów działa dobrze ("Apple" przed "Banana").

Jednak sortowanie liczb może prowadzić do niepoprawnych wyników.

"25" jest większe niż "100", ponieważ "2" jest większe niż "1".

Można rozwiązać ten problem, dostarczając "funkcję porównania" (zobacz poniższe przykłady).

Przykład

Przykład 1

// Utwórz tablicę
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Sortowanie tablicy
const fruits2 = fruits.toSorted();

Spróbuj sam

Przykład 2

Porządek sortowania po odwróceniu:

// Utwórz tablicę
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Sortowanie tablicy
const fruits2 = fruits.toSorted();
// Odwróć tablicę
fruits2.reverse();

Spróbuj sam

Przykład 3

Sortowanie rosnące liczb za pomocą funkcji sortującej:

// Utwórz tablicę
const points = [40, 100, 1, 5, 25, 10];
// Sortowanie tablicy
let points2 = points.toSorted(function(a, b){return a - b});

Spróbuj sam

Przykład 4

Sortowanie malejące liczb:

// Utwórz tablicę
const points = [40, 100, 1, 5, 25, 10];
// Sortowanie tablicy
let points2 = points.toSorted(function(a, b){return b - a});

Spróbuj sam

Przykład 5

Znajdź najmniejszą wartość:

// Utwórz tablicę
const points = [40, 100, 1, 5, 25, 10];
// Sortowanie rosnące liczb
let points2 = points.toSorted(function(a, b){return a - b});
let lowest = points2[0];

Spróbuj sam

Przykład 6

Znajdź największą wartość:

// Utwórz tablicę
const points = [40, 100, 1, 5, 25, 10];
// Sortowanie malejące liczb
let points2 = points.toSorted(function(a, b){return b - a});
let highest = points2[0];

Spróbuj sam

Przykład 7

Znajdź największą wartość:

// Utwórz tablicę
const points = [40, 100, 1, 5, 25, 10];
// Sortowanie rosnące liczb
let points2 = points.toSorted(function(a, b){return a - b});
let highest = points2[points.length - 1];

Spróbuj sam

Gramatyka

array.sort(compareFunction)

Parametry

Parametry Opis
compareFunction

Opcjonalnie. Definiuje funkcję do określenia kolejności sortowania. Funkcja powinna zwracać ujemną, zerową lub pozytywną wartość na podstawie parametrów:

function(a, b){return a-b}

Podczas porównywania dwóch wartości przez sort(), przeglądarka wysyła te wartości do funkcji porównawczej i sortuje wartości na podstawie zwróconych (ujemnych, zerowych, pozytywnych) wartości.

Przykład:

Funkcja sortująca traktuje 40 jako wartość mniejszą niż 100.

Podczas porównywania 40 i 100, sort() wywołuje funkcję function(40, 100).

Funkcja oblicza 40 - 100 i zwraca -60 (wartość ujemna).

Zwrócone wartości

Typ Opis
Array Nowa tablica po sortowaniu.

Wsparcie przeglądarek

toSorted() To jest cecha ES2023.

Od lipca 2023 roku, wszystkie nowoczesne przeglądarki obsługują tę metodę:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
Luty 2023 roku Luty 2023 roku Lipiec 2023 roku Marzec 2023 roku Maj 2023 roku