Начало > Javascript JavaScript> начинаещи - Сортиране Число Array

JavaScript инстркцията - Сортиране Число Array

В JavaScript, когато искате да сортирате масиви той получава сортирани по азбучен ред. Това означава, че числата са подредени на базата на първата цифра настъпили в броя система (1-9), а не чрез сравняване на стойността. Така че, ако искате да сортирате масиви като стойността 10,12,11,20,2,25,30 получава подредени 10,12,11,20,2,25,30 използват вградени JavaScript метод на сортиране масив.

Пример - Традиционни Array метод на сортиране

  "text/javascript" > <Скрипт тип = "текст / JavaScript">
      new Array ( 10 , 12 , 11 , 20 , 2 , 25 , 30 ) ; Var марки = нови Array (10, 12, 11, 20, 2, 25, 30);
      ; марки. подреди (); 
      marks ) ; документ. Запис (марки);
 </ Ръкопис> 

Изход: 10,11,12,2,20,25,30
Тук можете да видите, че под номер 2 идва след 12 и преди 20, преди номера сдобиваме се с нещо на базата на първата цифра и следващата цифра.

Така че, за да сортирате масиви в JavaScript числени методи могат да се използват:
Bubble сортиране

Това е един от традиционните техники, използвани за сортиране по структури от данни в C, C + + езици за програмиране. В тази техника, като броят им в сравнение с всеки друг и в зависимост от ценностите, които те се разменят.
Пример - сортиране използване Bubble сортиране Техника

  "text/javascript" > <Скрипт тип = "текст / JavaScript">
         new Array ( 10 , 12 , 11 , 20 , 2 ) ; Var марки = нови Array (10, 12, 11, 20, 2);
         var i = 0 ; i < marks . length ; i ++ ) //Hold the first element за (Var I = 0; I <марки. дължина; I + +) / / Задръжте Първият елемент
	 (
		 var j = i + 1 ; j < marks. length ; j ++ ) //Hold the next element from the first element за (Var J = I + 1; к <марки. дължина; к + +) / / Задръжте следващия елемент от първия елемент
		 (
			 Number ( marks [ i ] ) > Number ( marks [ j ] ) ) //comparing first and next element ако (номер (марки [I])> Брой (марки [к])) / / сравняване на първия и следващия елемент
			 (
				 j ] ; tempValue = марки [к];	
				 = marks [ i ] ; [Марка к] = марка [в];
				 = tempValue ; марки [I] = tempValue;
			 )
		 )
	 )
         marks ) ; документ. Запис (марки);
 script > </ Марка> </ ръкопис> 

Изход: 2,10,11,12,20
Тук можете да видите, че аз съм създаване на временна променлива да държи стойност, така че данните могат да бъдат обменяни.

Използването на Prototype Длъжност

Protoype функция в JavaScript може да замени съществуващата функционалност на обекта. Така че сега с тази техника array.sort да направите цифрови операция подреди условие, че са предоставили на функции за сортиране на числови данни.
Пример - Prototype Длъжност

  "text/javascript" > <Скрипт тип = "текст / JavaScript">
 = function ( ) Array. Прототип. Подреди = функция ()
 (
	 i = 0 ; i < this . length ; i ++ ) за (I = 0; Аз <това. дължина; I + +)
	 (
		 j = i + 1 ; j < this. length ; j ++ ) за (J = I + 1; к <това. дължина; к + +)
		 (
			 Number ( this [ i ] ) > Number ( this [ j ] ) ) ако (номер (това [I])> Брой (това [к]))
			 (
				 [ j ] ; tempValue = това [к];
				 j ] = this [ i ] ; това [к] = това [I];
				 i ] = tempValue ; това [I] = tempValue;
			 )
		 )
	 )
 )
 new Array ( 10 , 12 , 11 , 20 , 2 ) ; Var марки = нови Array (10, 12, 11, 20, 2);
 ; марки. подреди ();
 marks ) ; документ. Запис (марки);
 script > </ Това> </ ръкопис> 

Изход: 2,10,11,12,20
Ето аз съм висш съществуващия метод масив подреди, като се обадите метод балон подреди вътре в нея. Така че сега. Подреди () метод, ще го подредя числено, а не по азбучен ред.

Промяна на функционалността на съществуващите метод на сортиране

В тази техника може да мине един параметър на функцията масив подреди което е функция, която ще съдържа инструкции за това как да се сравни масив елементи.
Пример:

  "text/javascript" > <Скрипт тип = "текст / JavaScript">
 a , b ) //Sort array in ascending order функция ArraySortAscending (A, B) / / сортиране масив във възходящ ред
 (	
	 a - b ) ; връщане  - б); 
 )

 a , b ) //Sort array in descending order функция ArraySortDescending (A, B) / / сортиране масив в низходящ ред
 (	
	 b - a ) ; връщане  - а); 
 )

 new Array ( 10 , 12 , 11 , 20 , 2 ) ; Var марки = нови Array (10, 12, 11, 20, 2);
 ArraySortAscending ) ; //This will sort the array in ascending order марки. подреди (ArraySortAscending); / / Това ще сортира масива във възходящ ред
 marks + ' \n ' ) ; документ. напишете (+ N '' \ марки);

 new Array ( 10 , 12 , 11 , 20 , 2 ) ; Var марки = нови Array (10, 12, 11, 20, 2);
 ArraySortDescending ) ; //This will sort the array in descending order марки. подреди (ArraySortDescending); / / Това ще сортира масив в низходящ ред
 marks ) ; документ. Запис (марки);
 </ Ръкопис> 

Изход:
2,10,11,12,20
20,12,11,10,2

Персонализирано търсене


Популярни членове:

Споделете и се наслаждавайте:
  • 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: Категории: Javascript Tags:
  1. Все още няма коментари.
  1. Няма проследявания все още.