Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВебТех Конспект лекций 2011 укр.doc
Скачиваний:
36
Добавлен:
18.08.2019
Размер:
928.26 Кб
Скачать

Метод join ()

Метод join () дозволяє об'єднати елементи масиву в один рядок. Він є зворотним до методу split (), який розрізає об'єкт типу String на шматки і складає з них масив. До речі, метод split () демонструє той факт, що масив можна отримати і без конструктора масиву.

Розглянемо приклад перетворення локального URL в глобальний URL, де в якості адреси сервера буде виступати www.intuit.ru. Нехай у змінній localURL зберігається локальний URL деякого файлу:

localURL = "file: / / / C: / department/internet/js/2/2.html"

разрєжєм рядок у місцях входження комбінації символів ":/", виконавши команду: b = localURL.split (':/'). Отримаємо масив:

b [0] = "file";

b [1] = "/ / C";

b [2] = "department/internet/js/2/2.html";

Замінюємо 0-й і 1-й елементи на необхідні:

b [0] = "http:";

b [1] = "/ www.intuit.ru";

Нарешті, склеюємо отриманий масив, вставляючи косу риску в місцях склеювання: globalURL = b.join ("/" ). У результаті ми отримуємо необхідний глобальний URL - значення globalURL дорівнюватиме: http://www.intuit.ru/department/internet/js/2/2.html.

Метод reverse ()

Метод reverse () застосовується для зміни порядку елементів масиву на протилежний. Припустимо, масив впорядкований наступним чином:

a = new Array ('мати', 'бачить', 'дочка');

Впорядкуємо його у зворотному порядку, викликавши метод a.reverse (). Тоді новий масив a буде містити:

a [0] = 'дочка';

a [1] = 'бачить';

a [2] = 'мати';

Метод sort ()

Метод sort () інтерпретує елементи масиву як рядкові літерали і сортує масив в алфавітному (т.зв. лексикографічному) порядку. Зверніть увагу: метод sort () змінює масив. У попередньому прикладі, застосувавши a.sort (), ми отримаємо на виході:

a [0] = 'бачить';

a [1] = 'дочка';

a [2] = 'мати';

Однак, це незручно, якщо потрібно відсортувати числа, оскільки згідно з алфавітним порядком 40 йде раніше ніж 5. Для цих цілей у методу sort () є необов'язковий аргумент, який є іменем функції, згідно з якою потрібно відсортувати масив, тобто в цьому випадку виклик методу має вигляд: a.sort (myfunction). Ця функція повинна задовольняти певним вимогам:

у неї повинно бути рівно два аргументи;

  1. функція повинна повертати число;

  2. якщо перший аргумент функції повинен вважатися меншим (більшим, рівним) ніж другий аргумент, то функція повинна повернути негативне (позитивне, нуль) значення.

Наприклад, якщо нам потрібно сортувати числа, то ми можемо описати наступну функцію:

function compar (a, b) {

if(a < b) return -1;

if(a > b) return 1;

if (a == b) return 0;

}

Тепер, якщо у нас є масив b = new Array (10,6,300,25,18);, то можна порівняти результати сортування без аргументу і з функцією compar як аргумент:

document.write ("Алфавітний порядок: <BR>" );

document.write (b.sort ());

document.write ("<BR> Числовий порядок: <BR>");

document.write (b.sort (compar));

В результаті виконання цього коду отримаємо наступне:

Алфавітний порядок:

10,18,25,300,6

Числовий порядок:

6,10,18,25,300

Зверніть увагу: метод sort () інтерпретує елементи масиву як рядки (і виробляє лексикографічну сортування), але не перетворює їх в рядки. Якщо в масиві були числа, то вони числами і залишаться. У цьому легко переконатися, якщо в кінці останнього приклад виконати команду document.write (b [3] +1): результат буде 26 (тобто 25 +1), а не 251 (тобто "25" +1 ).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]