JavaScript Array toSorted()

Definizione e uso

toSorted() Il metodo ordina gli elementi dell'array in ordine alfabetico.

toSorted() Il metodo restituisce un nuovo array.

toSorted() Il metodo non sovrascrive l'array originale.

toSorted() Il metodo è sort() Versione di copia del metodo.

Vedi anche:

Metodo sort() dell'Array

Metodo reverse() dell'Array

Funzione di confronto di ordinamento

L'ordinamento alfabetico è molto efficace per le stringhe ("Apple" è prima di "Banana").

Ma, l'ordinamento numerico potrebbe produrre risultati imprecisi.

"25" è maggiore di "100", perché "2" è maggiore di "1".

Puoi risolvere questo problema fornendo una "funzione di confronto" (vedi gli esempi seguenti).

Esempio

Esempio 1

// Crea un array
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Ordina l'array
const fruits2 = fruits.toSorted();

Prova te stesso

Esempio 2

Ordinamento e inversione dell'ordine:

// Crea un array
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Ordina l'array
const fruits2 = fruits.toSorted();
// Inversione dell'array
fruits2.reverse();

Prova te stesso

Esempio 3

Ordina i numeri in ordine crescente utilizzando la funzione di ordinamento:

// Crea un array
const points = [40, 100, 1, 5, 25, 10];
// Ordina l'array
let points2 = points.toSorted(function(a, b){return a - b});

Prova te stesso

Esempio 4

Ordina in ordine decrescente i numeri:

// Crea un array
const points = [40, 100, 1, 5, 25, 10];
// Ordina l'array
let points2 = points.toSorted(function(a, b){return b - a});

Prova te stesso

Esempio 5

Trova il valore minimo:

// Crea un array
const points = [40, 100, 1, 5, 25, 10];
// Ordina in ordine crescente i numeri
let points2 = points.toSorted(function(a, b){return a - b});
let lowest = points2[0];

Prova te stesso

Esempio 6

Trova il valore massimo:

// Crea un array
const points = [40, 100, 1, 5, 25, 10];
// Ordina in ordine decrescente i numeri
let points2 = points.toSorted(function(a, b){return b - a});
let highest = points2[0];

Prova te stesso

Esempio 7

Trova il valore massimo:

// Crea un array
const points = [40, 100, 1, 5, 25, 10];
// Ordina in ordine crescente i numeri
let points2 = points.toSorted(function(a, b){return a - b});
let highest = points2[points.length - 1];

Prova te stesso

Sintassi

array.sort(compareFunction)

Parametri

Parametri Descrizione
compareFunction

Opzionale. Definire una funzione per l'ordine di ordinamento. La funzione deve restituire un valore negativo, zero o positivo in base ai parametri:

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

Quando sort() confronta due valori, invia questi valori alla funzione di confronto e ordina i valori in base al valore restituito (valore negativo, zero, valore positivo).

Esempio:

La funzione di ordinamento considera 40 come un valore più piccolo di 100.

Quando si confrontano 40 e 100, la chiamata sort() invoca la funzione function(40, 100).

Il calcolo della funzione 40 - 100 restituisce -60 (valore negativo).

Valore di ritorno

Tipo Descrizione
Array Nuovo array ordinato.

Supporto dei browser

toSorted() È una caratteristica di ES2023.

A partire dal luglio 2023, tutti i browser moderni supportano questo metodo:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
Febbraio 2023 Febbraio 2023 Luglio 2023 Marzo 2023 Maggio 2023