didattica base: array.sort

  • Creatore Discussione Creatore Discussione ntoflip
  • Data di inizio Data di inizio

ntoflip

Utente Attivo
26 Ago 2008
50
0
0
Ciao a tutti sono nuovo del forum e nuovo del mondo javascript.

Per imparare sto leggendo un manuale che sono riuscito a trovare in una libreria poco fornita durante l'agosto materano.. di Riccardo Nikolassy edito hoepli*.

Ho un problema di comprensione teorico-pratica del metodo sort per gli array, in particolare nel caso in cui si vogliano ordinare in ordine alfabetico stringhe con iniziali maiuscole e minuscole presenti nell'array. L'esempio illustrato nel manuale, che viene riportato in maniera quasi identica nel sito "http://www.webfract.it/MATJAVA/metodoSort.htm", è questo
Codice:
<SCRIPT TYPE="text/javascript">
function confronta(x,y) 
{
  x = x.toLowerCase();     //trasforma parametro a tutto in minuscolo
  y = y.toLowerCase();     //trasforma parametro b tutto in minuscolo
  if (x < y) return -1;   //restituisce -1 se secondo maggiore primo
  else 
  {
    if (x > y) return 1;   //restituisce 1 se primo maggiore secondo
    else return 0;                         //restituisce zero se uguali
  }
}
var vet=new Array("Mario","luca","alberto","gino","Michele","ANDREA");
vet.sort(confronta);
alert(vet);
</SCRIPT>

. Ora quello che mi è difficile capire è sia il funzionamento e la natura dei parametri formali x e y, sia il funzionamento del risultato della funzione (-1,1 oppure 0). In pratica: cos'è che avviene passo passo in questo misterioso pezzo di codice?
La funzione confronta viene applicata uno per uno a tutti gli argomenti dell'array? Ma se fosse così "Mario" diventerebbe x e quindi mario, ma cosa diventerebbe y? e il risultato della funzione su cosa agisce? Insomma queste e simili altre domande mi tormentano..
:hammer:
se qualcuno gettasse un po' di luce forse riuscirei ad evitare il manicomio.
Ciao e grazie.

*(n so se è possibile in questa sede fare dcritiche letterarie ma a me sembra scritto e impaginato veramente con i piedi oppure è solamente colpa del correttore di bozze, comunque almeno fino al punto in cui sono è veramente frustrante perchè pieno di errori e parti mancanti da riempire che per un neofita diventa davvero arduo capirci qualcosa!!)
 

Discussioni simili