Раздел: Сайтостроение / JavaScript /
Массивы в JavaScript
Что такое JavaScript
Небольшая книга о JavaScript, которая поможет вам в изучении JavaScript. В книге и рассылке сведения для начинающих: что такое JavaScript, как это работает, письма, которые помогут принять решение, надо ли вам это или нет, а также полезные ссылки на обучающие материалы. Подробнее... |
Думаю, каждый программист знает, что такое цикл. Но для начинающих кратко поясню: цикл - это последовательность одинаковых действий. То есть участок кода, который необходимо выполнить несколько раз. Подробнее о циклах вообще см. здесь.
Как всегда напоминаю, что полный обучающий курс по JavaScript можно найти здесь:
>>> JavaScript, jQuery и Ajax с нуля до гуру >>>
Индекс массива в JavaScript
Напомню, что массив содержит множество данных (значений). И значения в массиве пронумерованы (то есть каждое значение в массиве имеет свой уникальный номер - индекс - целое неотрицательное число).
Работать с отдельным элементом массива в JavaScript можно так:
M[i] = 100; x = M[i];
Здесь M - это переменная, связанная с массивом
(имя массива), а i - это номер элемента массива
(индекс). В первом случае мы записали в массив значение 100, во
втором - получили значение из массива в переменную х
.
Индексация массивов в JavaScript, также как и в С/С++, начинается с нуля. Например:
x = M[8];
Здесь в переменную х
мы получаем значение 9-го элемента.
Массивы могут хранить данные любых типов, допустимых в JavaScript. В том числе ссылки на объекты, функции или другие массивы.
Также в JavaScript существует особый вид массивов - ассоциативные массивы, у которых в качестве индексов используются строки. Но о них мы сегодня говорить не будем.
Есть ещё одна особенность: в JavaScript не поддерживаются многомерные массивы. Но можно создавать массивы массивов, устраняя таким образом эту неприятность.
Кроме того, поскольку JavaScript - это нетипизированный язык, то в одном массиве могут находиться данные разных типов.
Как создать массив в JavaScript
Людям, привыкшим к простым языкам типа Паскаля, будет немного сложно перестроиться, потому что в JavaScript массив создаётся с помощью особой функции-конструктора:
var M = new Array();
Здесь мы создали массив с именем М
. Но пока этот массив пустой.
Если попробовать обратиться к элементу массива, то ничего страшного не
произойдёт. Просто надо помнить, что при таком способе создания массива
обращение к любому его элементу вернёт значение undefined
.
Массив создаётся как-бы безразмерным. То есть количество его элементов может быть любым (разумеется, в разумных пределах).
Заполнить массив данными можно, например, в цикле, перебирая все его элементы:
for (i = 0; i < 10; i++) M[i] = i;
Таким же способом можно вывести все элементы массива на экран:
for (i = 0; i < 10; i++) document.write(M[i]);
При необходимости можно в нужный элемент массива записать любое значение, обратившись к нему по индексу.
Инициализация массива в JavaScript
При создании массива можно сразу присвоить какие-то начальные значения его элементам. Пример:
var M = new Array(1, 1.1, 1.2, 1.3, 'Конец');
Несмотря на то, что мы определили в массиве 5 элементов, вот такой код:
for (i = 0; i < 10; i++) document.write(M[i] + ' ');
не приведёт к ошибке. Просто после слова “Конец” будут выведены пять слов
undefined
.
Если в конструктор массива Array()
передать только одно число, то это число задаст длину массива:
var N = new Array(4);
здесь мы создали массив N
, состоящий из 4-х элементов. Однако это не означает, что, например, теперь нельзя будет сделать так:
N[5] = 100;
Пример:
//Создаём массив с именем М var M = new Array(1, 1.1, 1.2, 1.3, 'Конец'); //Выводим значения массива на экран for (i = 0; i < 10; i++) document.write(M[i] + ' '); document.write('<br><br>'); var N = new Array(4); N[5] = 100; //Выводим значения массива на экран for (i = 0; i < 10; i++) document.write(N[i] + ' ');
Литералы массивов в JavaScript
Существует определённый синтаксис литералов для создания и инициализации массивов.
Литерал (он же инициализатор) массива - это список значений, которые заключены
в квадратные скобки. Значения разделяются запятыми. То есть вам не обязательно
использовать Array()
для того, чтобы создать массив. Пример:
//Создаём массив с именем М var M = [1, 1.1, 1.2, 1.3, 'Конец']; //Выводим значения массива на экран for (i = 0; i < 10; i++) document.write(M[i] + ' ');
Многомерный массив в JavaScript
Литералы могут быть вложенными. И таким образом можно создавать массив массивов (то есть многомерный массив). Ниже приведён пример двумерного массива:
//Создаём двумерный массив в JavaScript var M = [[1.1, 1.2, 1.3], [2.1, 2.2, 2.3], [3.1, 3.2, 3.3], [4.1, 4.2, 4.3]]; //Выводим значения массива на экран for (var i = 0; i < 4; i++) //Строки for (var j = 0; j < 3; j++) //Столбцы { document.write(M[i][j] + ' '); if (j == 2) document.write('<br>'); }
Этот пример выведет на экран такую таблицу:
1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 3.3 4.1 4.2 4.3
ВАЖНО!
Когда вы выполняете в JavaScript перебор массива, не забывайте, что нумерация элементов начинается с нуля.
СОВЕТ
Когда вы создаёте и инициализируете двумерный массив, то лучше это делать именно так, как показано в примере - то есть в виде таблицы. Такая запись более наглядна и вы не ошибётесь при вводе значений - сразу понятно, где строки, а где столбцы.
С трёхмерными и более массивами работать уже довольно сложно - здесь легко запутаться и перестать понимать, где что находится. Да и на практике с этим сталкиваться приходится очень редко. Но если есть желание - можете попробовать в качестве домашнего задания поупражняться. Принцип тот же - просто у вас будет ещё один или несколько вложенных массивов.
Эта статья - лишь капля в море знаний о JavaScript. Если хотите испить эту чашу до дна, то изучить этот язык, а также jQuery и Ajax можно здесь:
>>> JavaScript, jQuery и Ajax с нуля до гуру >>>
Вступить в группу "Основы программирования"
Подписаться на канал в РУТУБ Подписаться на Дзен-канал Подписаться на рассылки по программированию |
Программирование на JavaScript
Видеокурс о программировании на JavaScript. Содержит 8 больших разделов от основ до работы с сетевыми запросами. В комплекте 5 подарков - мини-курсов по темам, связанным с сайтостроением. 72 урока продолжительностью более 13 часов. Упражнения и примеры исходных кодов. Поддержка от автора. Подробнее... |