Использование числовых массивов

Массив - это набор элементов, содержащих значения, сохраненный под одним именем. Например, массив scores может использоваться для сохранения счета сыгранных матчей. Массивы могут состоять из чисел, строковых переменных, объектов и других типов данных.

Создание числового массива

В отличие от большинства используемых в JavaScript типов данных, массивы необходимо объявлять перед использованием. В приведенном ниже примере объявлен массив, состоящий из 30 элементов:

scores = new Array(30);

Чтобы определить значения массива, укажите его индекс в скобках. Индексирование элементов массива начинается с 0, поэтому элементы объявленного выше массива имеют индексы 0-29. Следующие операторы определяют значения первых четырех элементов массива:

scores[0] = 39;
scores[1] = 40;
scores[2] = 100;
scores[3] = 49;

Подобно строковым переменным массивы имеют свойство length. Оно определяет количество элементов, из которых состоит массив. Оно же определяется при создании массива. В следующем примере отображается число элементов массива scores:

document.write(scores.length);

Управление элементами массива

Содержание массива определяется значениями его элементов. При управлении элементами массива используются те же методы, что и при управлении значениями и переменными. Например, следующий оператор позволяет отобразить значения первых четырех элементов массива scores:

scoredisplay = "Статистика: " + scores[0] + "," + scores[1] + "," + scores[2] + "," + scores[3];
document.write(scoredisplay);

Использование строковых массивов

В JavaScript, наряду с числовыми массивами, активно используются и строковые массивы. Это позволяет просто и эффективно управлять большими объемами текстовой информации.

Создание строковых массивов

Объявление строковых массивов проводится тем же способом, что и объявление числовых массивов (в JavaScript не существует принципиальной разницы между числовыми и строковыми массивами):

names = new Array(30);

Следующим образом объявляются его элементы:

names[0] = "Виталий";
names[1] = "Юлия";

Элементы строкового массива используются везде, где позволено использовать строковые переменные. Все описанные выше методы выполняются и для элементов строковых массивов. Например, следующий оператор позволяет распечатать первые пять символов значения первого элемента массива names:

document.write(names[0].substring(0,5));

Разделение строковой переменной

JavaScript содержит метод split(), позволяющий разделять строку на составные части. Для того чтобы правильно его использовать, укажите необходимый объект и символ, по которому проводится разделение:

test = "Виталий";
parts = test.split("и");

В этом примере строковая переменная test принимает значение Виталий. Метод split() разделяет значение на три составные части по символам и. После выполнения этого метода массив определен следующим образом:

parts[0] = "В"
parts[1] = "тал"
parts[2] = "й"

JavaScript обладает еще одним методом управления элементами строкового массива: join(). Он выполняет операцию, обратную методу split(). Следующий оператор объединяет элементы массива parts в одну строку:

fullname = parts.join("и");

Параметр в скобках определяет символ, по которому проводится объединение. В нашем случае в качестве этого символа выступает буква и. В результате получим исходное имя Виталий. Если символ указывать нет необходимости, обязательно введите в качестве параметра запятую.

Сортировка элементов массива

JavaScript содержит метод sort(), используемый для сортировки элементов массива. Он возвращает упорядоченную версию исходного массива. Упорядочение проводится как по алфавиту (для строковых массивов), так и по возрастанию или убыванию (для числовых). В следующем примере упорядочен массив, состоящий из четырех английских имен:

names[0] = "Public, John Q.";
names[1] = "Tillman, Henry J.";
names[2] = "Clinton, Bill";
names[3] = "Mouse, Micky";
sortednames = names.sort();

Последний оператор создает в массиве sortednames упорядоченные по алфавиту элементы массива names.

Отображение бегущих строк

Теперь настало время применить на практике полученные знания. Если вы читали предыдущие выпуски рассылки, то у вас вполне достаточно знаний, чтобы написать сценарий бегущей строки. Чем мы сейчас и займемся...

Для начала давайте определим сообщение, которое будет отображаться в бегущей строке. Для сохранения текста сообщения используем строковую переменную msg. В самом начале сценария определите значение переменной:

msg = "Это пример бегущего сообщения."

Далее определите следующую строковую переменную spacer. Ее значение будет отображаться между копиями значений переменной msg:

spacer = " ";

Кроме того, вам понадобится еще одна переменная - числовая переменная, имеющая числовое значение места расположения строки. Назовите ее pos и определите начальное значение 0.

Создание бегущего сообщения проводится с помощью функции ScrollMessage(). Листинг 11.1 содержит ее программный код.

Листинг 11.1. Код функции ScrollMessage()


1:   function ScrollMessage() {
2:        window.status = msg.substring(pos, msg.length) + spacer + msg.substring(0,pos);
3:        pos++;
4:   if (pos > msg.length) pos = 0;
5:   window.setTimeout("ScrollMessage()",200);
6:   }
                   

Ниже приведено построчное описание кода функции.

Строка 1 содержит название функции, которое определяет выполняемую ею операцию.

Строка 2 содержит текст, который будет отображаться в бегущем сообщении строки состояния. Сообщение состоит из части значения строковой переменной msg (определенной от индекса pos до конца строки), пробела и части значения строковой переменной msg (определенной с начала строки до индекса pos).

Строка 3 содержит оператор увеличения значения переменной pos на единицу.

Строка 4 содержит оператор проверки отношения значения переменной pos к длине строки msg. Если оно больше, то переменная pos принимает новое значение, равное 0.

Строка 5 содержит метод window.setTimeout, определяющий время задержки, через которое будет выполняться оператор. В нашем случае функция ScrollMessage выполняется с задержкой в 200 миллисекунд.

Строка 6 содержит закрывающую скобку, символизирующую конец программного кода функции.

Чтобы сделать пример работающим, дополните его дескрипторами <SCRIPT> и необходимыми тегами HTML.

Листинг 11.2 содержит программный код вэб-страницы с бегущим сообщением в строке состояния окна браузера.

Листинг 11.2. Пример документа HTML с бегущим сообщением в строке состояния


1:   <HTML>
2:   <HEAD>
3:   <TITLE>Пример бегущей строки</TITLE>
4:   <SCRIPT LANGUAGE="JavaScript">
5:   var msg = "Это пример бегущего сообщения.";
6:   spacer = " ";
7:   pos = 0;
8:   function ScrollMessage() {
9:        window.status = msg.substring(pos, msg.length) + spacer + msg.substring(0,pos);
10:        pos++;
11:   if (pos > msg.length) pos = 0;
12:   window.setTimeout("ScrollMessage()",200);
13:   }
14:   ScrollMessage();
15:   </SCRIPT>
16:   </HEAD>
17:   <BODY>
18:   <H1>Пример бегущей строки</H1>
19:   </BODY>
20:   </HTML>

nextn.bmp (246 bytes)

home.gif (161 bytes)

next.gif (900 bytes)

Сайт управляется системой uCoz