English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
sort()Il metodo ordina gli elementi dell'array (basato sul primo carattere) e restituisce l'array.
Per impostazione predefinita,sort()Il metodo ordina i valori in ordine crescente/lessicografico.
Questo si applica alle stringhe ("Dicembre" precede "Febbraio").
Ma se i numeri vengono ordinati come stringhe, "35" è maggiore di "150", perché "3" è maggiore di "1".
Ma è possibile modificare l'algoritmo di ordinamento fornendo una funzione "compare".
Attenzione: Il metodo sort() modifica l'array originale.
array.sort(compareFunction)
var months = ['Marzo', 'Gennaio', 'Febbraio', 'Dicembre']; months.sort();Testa per vedere‹/›
I numeri nella tabella specificano la prima versione del browser che supporta completamente il metodo sort():
Metodo | |||||
sort() | 1 | 1 | Sì | Sì | 5.5 |
Parametro | Descrizione |
---|---|
compareFunction | (Opzionale) Specificare una funzione che definisce l'ordine di ordinamento. Se omesso, l'array viene ordinato in ordine lessicografico. |
Valore di ritorno: | Array ordinato |
---|---|
Versione JavaScript: | ECMAScript 1 |
Ordina in ordine crescente i numeri dell'array:
var nums = [5, 1, 2, 7, 3, 6, 4]; nums.sort();Testa per vedere‹/›
sort()Per impostazione predefinita, l'array numerico non viene ordinato per dimensione. Al contrario, controlla solo il primo carattere del numero:
var nums = [5, 1, 2, 17, 13, 6, 34]; nums.sort();Testa per vedere‹/›
Per ordinare correttamente i numeri, puoi creare una funzione di confronto come parametro:
var nums = [5, 1, 2, 17, 13, 6, 34]; nums.sort(function(a, b) {return a - b});Testa per vedere‹/›
Ordina i numeri dell'array in ordine decrescente:
var nums = [5, 1, 2, 17, 13, 6, 34]; nums.sort(function(a, b) {return b - a});Testa per vedere‹/›
Ottieni i valori minimi e massimi dell'array:
function myFunc() { var nums = [5, 1, 2, 7, 3, 6, 4]; nums.sort(); // Ordina l'array var low = nums[0]; // Valore minimo dell'indice primo var high = nums[nums.length-1]; // Valore massimo dell'indice ultimo }Testa per vedere‹/›