Головна > Javascript > JavaScript Підручник - Сортування числових масивів

Підручник JavaScript - сортування числової масив

У JavaScript, коли ви хочете відсортувати масив він отримує відсортовані за алфавітом. Це означає, що номери сортуються на основі першою цифрою, що відбуваються в системі числення (1 - 9), а не шляхом порівняння вартості. Так що, якщо я хочу, щоб сортувати масив із значеннями 10,12,11,20,2,25,30 отримує відсортовано за 10,12,11,20,2,25,30 використанням вбудованого масиву JavaScript роду методом.

Приклад - традиційний метод сортування масиву

  "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 Чисельно наступні методи можуть бути використані:
Сортувати міхура

Це один з традиційних методів сортування, що використовуються в структури даних в C, C + + Мови програмування. У цій техніці номери порівнюються один з одним і залежно від цінностей, які вони поміняються місцями.
Приклад - Сортування використанням міхура Сортувати Техніка

  "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 = 0; я <знаків. довжину; я + +) / / Hold перший елемент
	 (
		 var j = i + 1 ; j < marks. length ; j ++ ) //Hold the next element from the first element для VAR (J = I + 1; полярність <. довжину; до + +) / / Hold наступний елемент з першого елемента
		 (
			 Number ( marks [ i ] ) > Number ( marks [ j ] ) ) //comparing first and next element якщо (номер (знаки [я])> номер (знаки [у])) / / порівняння перший і наступний елемент
			 (
				 j ] ; tempValue = знаки [у];	
				 = marks [ i ] ; знаки [у] = знаки [я];
				 = tempValue ; знаки [р] = tempValue;
			 )
		 )
	 )
         marks ) ; документа. написати (марок);
 script > </ Марки> </> сценарій 

Висновок: 2,10,11,12,20
Тут ви бачите, що я створюю тимчасову змінну для зберігання значення, так що дані можуть бути обмінені.

Використання прототипу функції

Protoype функції в JavaScript можна перевизначити існуючі функціональності об'єкта. Так що тепер з цим методом, можна зробити array.sort числові операції роду умови, що ви надали функціональність для сортування числових даних.
Приклад - прототип функції

  "text/javascript" > <Скрипт типу = "текст / JavaScript">
 = function ( ) Array. Прототипу. Сортувати = функція ()
 (
	 i = 0 ; i < this . length ; i ++ ) для  = 0; я <це. довжину; я + +)
	 (
		 j = i + 1 ; j < this. length ; j ++ ) для (J = I + 1; у <це. довжину; до + +)
		 (
			 Number ( this [ i ] ) > Number ( this [ j ] ) ) якщо (номер (це [я])> номер (це [у]))
			 (
				 [ j ] ; tempValue = це [у];
				 j ] = this [ i ] ; це [у] = це [р];
				 i ] = tempValue ; це я] [= 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 ) //Sort array in descending order Функція ArraySortDescending (б) / / Сортування масиву в порядку убування
 (	
	 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 ' ) ; документа. написати (+ п''\ знаки);

 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 Теги:
  1. Коментарів немає.
  1. Немає повідомлень.