IL sort()> metodo in JavaScript dispone gli elementi di un array in posizione e restituisce l'array ordinato. Per impostazione predefinita, ordina gli elementi in ordine alfabetico, trattandoli come stringhe.
Tuttavia, per l'ordinamento numerico, è possibile fornire una funzione di confronto personalizzata. Questa funzione determina i criteri di smistamento, consentendo un controllo preciso sul processo di smistamento. 'sort()' migliora l'efficienza e la funzionalità delle applicazioni JavaScript consentendo di organizzare gli elementi dell'array in base a requisiti specifici in modo professionale e formale.
Sintassi
arr.sort(compareFunction);>
Parametri
array>: l'array da ordinare.compareFunction>(Facoltativo): una funzione che definisce l'ordinamento. Se omessi, gli elementi dell'array vengono ordinati in base ai punti di codice Unicode della stringa.
Valore di ritorno
Questo metodo restituisce il riferimento dell'array originale ordinato.
lanciare lancia in Java
Esempi:
Esempio 1: Ordinamento di un array di stringhe
Questo esempio mostra l'uso della funzione sort().
JavaScript
// JavaScript to illustrate sort() function function func() { // Original string let arr = ['Geeks', 'for', 'Geeks'] console.log(arr); // Sorting the array console.log(arr.sort()); } func();> Produzione
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ]>
Spiegazione:
ILsort()>Il metodo riorganizza gli elementi del filearr>array in ordine alfabetico, producendo l'output['Geeks', 'Geeks', 'for']>.
lunghezza dell'array java
Esempio 2: Ordinamento di una matrice di numeri senza funzione di confronto
Ecco, il ordinare() Il metodo dispone gli elementi dell'array in ordine crescente.
JavaScript // JavaScript to illustrate sort() function function func() { //Original string let arr = [2, 5, 8, 1, 4] //Sorting the array console.log(arr.sort()); } func();> Produzione
[ 1, 2, 4, 5, 8 ]>
Spiegazione:
ILsort()>viene chiamato su un array di numeri[2, 5, 8, 1, 4]>. ILsort()>ordinerà gli elementi in ordine alfabetico perché non è fornita alcuna funzione di confronto. Pertanto, l'output sarà[1, 2, 4, 5, 8]>, che viene ordinato alfabeticamente in base alle rappresentazioni di stringa dei numeri.
altrimenti nella shell bash
Esempio 3: Ordinamento del valore numerico senza funzione di confronto
Qui stiamo ordinando il valore numerico senza la funzione di confronto
Javascript let numbers = [20, 5.2, -120, 100, 30, 0] console.log(numbers.sort())>
Produzione
[ -120, 0, 100, 20, 30, 5.2 ]>
Spiegazione:
Quando usi ilsort()>senza una funzione di confronto, JavaScript ordina gli elementi dell'array come stringhe per impostazione predefinita, il che potrebbe non produrre sempre i risultati attesi per gli array numerici. Analizziamo il processo di ordinamento:
- JavaScript converte ogni elemento dell'array in una stringa.
- Quindi confronta le unità di codice UTF-16 di ciascun carattere nelle stringhe e le ordina in base al valore del punto di codice Unicode.
Ecco cosa succede con il tuo array:
- I numeri vengono convertiti in stringhe:
['20', '5.2', '-120', '100', '30', '0']>. - Se ordinati in ordine alfabetico,
-120>viene prima perché->ha un valore in punto di codice Unicode inferiore rispetto alle cifre (0>A9>). Poi arriva0>, seguito da100>,20>,30>, E5.2>.
Esempio 4: Ordinamento del valore numerico con la funzione di confronto
formattare la data in Java
Possiamo risolvere l'errore imprevisto che si è verificato nell'esempio precedente utilizzando il metodo sort() per i numeri utilizzando la seguente funzione di confronto.
Javascript let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic: 20 - (5.2) = +ve =>5.2 verrebbe posizionato prima di 20, 20 - (-120) = +ve => -120 verrebbe posizionato prima di 20, 20 - (100) = -ve => 100 verrebbe posizionato dopo 20, 20 - (30) = - ve => 30 verrebbe posizionato dopo 20, 20 - (0) = +ve => 0 verrebbe posizionato prima di 20, Allo stesso modo per ogni elemento, controlliamo e li posizioniamo di conseguenza nelle iterazioni. */ funzione confronta(a, b) { return a - b; } console.log(numeri.sort(confronta));> Produzione
[ -120, 0, 5.2, 20, 30, 100 ]>
Spiegazione:
- IL
compare>la funzione sottraeb>daa>. Se il risultato è negativo,a>viene primab>nell'array ordinato; se positivo,b>viene primaa>; se zero, il loro ordine relativo rimane invariato. - Fornendo questa funzione di confronto personalizzata a
sort()>metodo, JavaScript ordina l'arraynumbers>in base ai valori numerici dei suoi elementi.
Per favore, esamina questo Come ordinare l'array numerico utilizzando JavaScript? , per sapere come funziona la funzione di ordinamento dell'array JavaScript
Abbiamo un elenco completo di metodi Javascript Array, per controllarli ti invitiamo a consultare questo Riferimento completo per l'array Javascript articolo.
Browser supportati:
- Google Chrome
- Bordo
- Internet Explorer
- Firefox
- musica lirica
- Safari