Підручник 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

Популярні статті:
- JavaScript XML Parsing на Microsoft Explorer Інтернет
- Розрахунок DIV Позиція в JavaScript
- Що таке JavaScript
- Динамічні змінні в Javascript
- Оголошення JavaScript кодексу
- Таймери функції в JavaScript
- Мати функцій в JavaScript
- Глобальні об'єкти в Javascript
- Підручник JavaScript - пошук всередині масиву без Looping
- JSON в Javascript


































