JavaScript Tutorial - Ordinamento numerico Array

In Javascript ogni volta che si vuole ordinare un array si ottiene in ordine alfabetico. Ciò significa che i numeri sono ordinati sulla base della prima cifra che si verificano nel sistema di numerazione (1 - 9) e non confrontando il valore. Quindi, se voglio ordinare un array con valori 10,12,11,20,2,25,30 viene ordinato di 10,12,11,20,2,25,30 utilizzando il metodo JavaScript incorporato sorta di matrice.

Esempio - Tradizionale Array Sort Metodo

  "text/javascript" > <Script type = "text / javascript">
      new Array ( 10 , 12 , 11 , 20 , 2 , 25 , 30 ) ; var segna = new Array (10, 12, 11, 20, 2, 25, 30);
      ; marchi. sort (); 
      marks ) ; documento. scrittura (segni);
 </ Script> 

Uscita: 10,11,12,2,20,25,30
Qui si vede che il numero 2 sta arrivando dopo 12 e prima del 20, prima i numeri sono sempre ordinamento basato sulla prima cifra e cifra successiva.

Quindi, per ordinare un array in JavaScript numerico seguenti tecniche possono essere usate:
Bubble Sort

Questa è una delle tecniche tradizionali di ordinamento utilizzati in strutture di dati in C, C + + linguaggi di programmazione. In questa tecnica i numeri vengono confrontati tra loro e in base ai valori che vengono scambiati.
Esempio - Ordinamento con Bubble Sort Tecnica

  "text/javascript" > <Script type = "text / javascript">
         new Array ( 10 , 12 , 11 , 20 , 2 ) ; var segna = new Array (10, 12, 11, 20, 2);
         var i = 0 ; i < marks . length ; i ++ ) //Hold the first element for (var i = 0; i <marchi. lunghezza; i + +) / / Tenere il primo elemento
	 (
		 var j = i + 1 ; j < marks. length ; j ++ ) //Hold the next element from the first element for (var j = i segni + 1, j <. lunghezza; j + +) / / Hold l'elemento successivo dal primo elemento
		 (
			 Number ( marks [ i ] ) > Number ( marks [ j ] ) ) //comparing first and next element if (Number (marchi [i])> Number (marchi [j])) / / primo elemento di confronto e di successiva
			 (
				 j ] ; marchi = tempValue [j];	
				 = marks [ i ] ; marchi [j] = marchi [i];
				 = tempValue ; marchi [i] = tempValue;
			 )
		 )
	 )
         marks ) ; documento. scrittura (segni);
 script > </ Marchi> </ script> 

Uscita: 2,10,11,12,20
Qui vedete che io sono la creazione di una variabile temporanea per contenere il valore in modo che i dati possono essere scambiati.

Utilizzando la funzione Prototipo

Prototipo di funzione in JavaScript è possibile ignorare la funzionalità esistenti dell'oggetto. Così ora con questa Array.Sort tecnica può fare un'operazione di ordinamento numerico di cui hai fornito le funzionalità di ordinamento dei dati numerici.
Esempio - prototipo di funzione

 "text/javascript" > Array. prototype . sort = function ( ) { for ( i = 0 ; i < this . length ; i ++ ) { for ( j = i + 1 ; j < this. length ; j ++ ) { if ( Number ( this [ i ] ) > Number ( this [ j ] ) ) { tempValue = this [ j ] ; this [ j ] = this [ i ] ; this [ i ] = tempValue ; } } } } var marks = new Array ( 10 , 12 , 11 , 20 , 2 ) ; marks. sort ( ) ; document. write ( marks ) ; </ this ></ script > <Script type = "text / javascript"> Array. Prototipo. Sort = function () (for (i = 0; i <lunghezza.; I + +) (for (j = i + 1; j <questa lunghezza. ; j + +) (if (Number (this [i])> Number (this [j])) (tempValue = this [j]; questo [j] = this [i]; questo [i] = tempValue;) ))) marchi var = new Array (10, 12, 11, 20, 2); marchi. sort (); documento. scrittura (segni); </ questo> </ script> 

Uscita: 2,10,11,12,20
Eccomi qui l'override del metodo attuale ordinamento array chiamando il metodo bubble sort al suo interno. Così ora. Sort () metodo sort che numericamente e non in ordine alfabetico.

Modificare la funzionalità di Sort esistenti Metodo

In questa tecnica si passerà un parametro a una funzione di ordinamento array che è una funzione che contiene le istruzioni su come mettere a confronto gli elementi della matrice.
Esempio:

  "text/javascript" > <Script type = "text / javascript">
 a , b ) //Sort array in ascending order ArraySortAscending funzione (a, b) / / array Ordinare in ordine crescente
 (	
	 a - b ) ; return (a - b); 
 )

 a , b ) //Sort array in descending order ArraySortDescending funzione (a, b) / / array Ordinare in ordine decrescente
 (	
	 b - a ) ; return (b - a); 
 )

 new Array ( 10 , 12 , 11 , 20 , 2 ) ; var segna = new Array (10, 12, 11, 20, 2);
 ArraySortAscending ) ; //This will sort the array in ascending order marchi. sort (ArraySortAscending); / / This will ordinare l'array in ordine crescente
 marks + ' \n ' ) ; documento. scrittura (marchi + '\ n');

 new Array ( 10 , 12 , 11 , 20 , 2 ) ; var segna = new Array (10, 12, 11, 20, 2);
 ArraySortDescending ) ; //This will sort the array in descending order marchi. sort (ArraySortDescending); / / This will ordinare l'array in ordine decrescente
 marks ) ; documento. scrittura (segni);
 </ Script> 

Uscita:
2,10,11,12,20
20,12,11,10,2

Custom Search


Articoli popolari:

Tags: Categorie: Tag Javascript:
  1. Ancora nessun commento.
  1. Ancora nessun trackback.