Hlavní stránka > Javascript > JavaScript Tutorial - Třídění Numerická Array

JavaScript Tutorial - Třídění Numerická Array

V JavaScript kdykoliv chcete uspořádat řadu se dostane řazeny abecedně. To znamená, že čísla jsou tříděny na základě první číslice vyskytující se v číselné soustavy (1 - 9), a nikoli na základě porovnání hodnoty. Takže když chci řadit pole s hodnotami 10,12,11,20,2,25,30 dostane tříděny do 10,12,11,20,2,25,30 pomocí vestavěné JavaScript pole řadit metody.

Příklad - Tradiční Array Setřídit dle

  "text/javascript" > <Script type = "text / javascript">
      new Array ( 10 , 12 , 11 , 20 , 2 , 25 , 30 ) ; var známek = new Array (10, 12, 11, 20, 2, 25, 30);
      ; známek. sort (); 
      marks ) ; dokument. write (značky);
 </ Script> 

Výstup: 10,11,12,2,20,25,30
Tady vidíte, že číslo 2 přichází po 12 a před 20 do čísla jsou stále řadit na první číslici a další číslice.

Takže pro třídění pole v JavaScriptu Číslicově těchto technik mohou být použity:
Bubble Třídit

To je jedním z tradičních třídění technik používaných v datových strukturách v C, C + + programovací jazyky. V této technice jsou čísla ve srovnání s sebou a v závislosti na hodnotách, které jsou vyměňovány.
Příklad - třídění pomocí Bubble Třídit Technika

  "text/javascript" > <Script type = "text / javascript">
         new Array ( 10 , 12 , 11 , 20 , 2 ) ; var známek = new Array (10, 12, 11, 20, 2);
         var i = 0 ; i < marks . length ; i ++ ) //Hold the first element pro (var i = 0; <známky i. délku, i + +) / / Hold první prvek
	 (
		 var j = i + 1 ; j < marks. length ; j ++ ) //Hold the next element from the first element pro (var j = i + 1; j <značek. délku, j + +) / / Hold další prvek z prvního prvku
		 (
			 Number ( marks [ i ] ) > Number ( marks [ j ] ) ) //comparing first and next element if (Číslo (značky [i])> Číslo (ochranné známky [j])) / / porovnání první a další element
			 (
				 j ] ; tempValue = známkách [j];	
				 = marks [ i ] ; známkách [j] = značek [i];
				 = tempValue ; značek [i] = tempValue;
			 )
		 )
	 )
         marks ) ; dokument. write (značky);
 script > </ Značky> </ script> 

Výstup: 2,10,11,12,20
Tady vidíte, že jsem vytvořit dočasnou proměnnou držet hodnotu tak, že data mohou být vyměněny.

Pomocí Prototype funkce

Protoype Funkce v JavaScriptu lze přepsat existující funkčnost objektu. Takže teď s touto technikou array.sort může dělat číselné řazení operace předpokladu, že máte za předpokladu, že funkce pro třídění číselná data.
Příklad - prototyp funkce

 "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. Prototyp. Sort = function () (for (i = 0; i <to. Délku, i + +) (for (j = i + 1, j <to. Délku j + +) (if (Číslo (to [i])> číslo (toto [j])) (tempValue = toto [j]; to [j] = toto [i]; to [i] = tempValue;) ))) var známek = new Array (10, 12, 11, 20, 2); značky. sort (); dokument. write (značky), </ tohoto> </ script> 

Výstup: 2,10,11,12,20
Tady jsem naléhavými stávající pole řadit způsob volání metody bubble sort uvnitř. Tak teď. Sort () metoda bude třídit, že číselně, a nikoliv abecedně.

Změna funkcí stávajících Třídit metody

V této technice předáme parametr funkce pole řadit, což je funkce, která bude obsahuje návod, jak porovnávat pole prvků.
Příklad:

  "text/javascript" > <Script type = "text / javascript">
 a , b ) //Sort array in ascending order Funkce ArraySortAscending (a, b) / / pole Třídit vzestupně
 (	
	 a - b ) ; návrat (a - b); 
 )

 a , b ) //Sort array in descending order Funkce ArraySortDescending (a, b) / / Třídit pole sestupně
 (	
	 b - a ) ; výnos (b - a); 
 )

 new Array ( 10 , 12 , 11 , 20 , 2 ) ; var známek = new Array (10, 12, 11, 20, 2);
 ArraySortAscending ) ; //This will sort the array in ascending order známek. sort (ArraySortAscending); / / Toto bude řadit pole ve vzestupném pořadí
 marks + ' \n ' ) ; dokument. napsat (+ '\ n' ochranné známky);

 new Array ( 10 , 12 , 11 , 20 , 2 ) ; var známek = new Array (10, 12, 11, 20, 2);
 ArraySortDescending ) ; //This will sort the array in descending order známek. sort (ArraySortDescending); / / Toto bude řadit pole v sestupném pořadí
 marks ) ; dokument. write (značky);
 </ Script> 

Výstup:
2,10,11,12,20
20,12,11,10,2


Vlastní vyhledávání

Populární články:

Sdílet a využívat:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • IndianPad
  • LinkedIn
  • Live
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Reddit
  • Add to favorites
  • PDF
  • Twitter
Tags: Kategorie: Javascript Tagy:
  1. Zatím žádné komentáře.
  1. Ne Zpětné dosud.