Раздел: Сайтостроение / JavaScript /

Массивы в 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

Небольшая книга о JavaScript, которая поможет вам в изучении JavaScript. В книге и рассылке сведения для начинающих: что такое JavaScript, как это работает, письма, которые помогут принять решение, надо ли вам это или нет, а также полезные ссылки на обучающие материалы. Подробнее...
Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика