Введение в массивы

Последнее обновление: 28.08.2021

Для работы с наборами данных предназначены массивы. Для создания массива применяются квадратные скобки []. Внутри квадратных скобок определяются элементы массива. (Далее в отдельной главе, посвященной массивам, мы рассмотрим дополнительные способы создания массивов и вцелом более подробно работу с массивами)

Простейшее определение массива:

const myArray = [];

В данном случае мы создаем массив, который называется myArray. Он пустой, поскольку внутри квадратных скобок не определено ни одного элемента. Но можно также добавить в него начальные данные:

const people = ["Tom", "Alice", "Sam"];
console.log(people);	// ["Tom", "Alice", "Sam"];

В этом случае в массиве myArray будет три элемента. Графически его можно представить так:

ИндексЭлемент
0Tom
1Alice
2Sam

Для обращения к отдельным элементам массива используются индексы. Отсчет начинается с нуля, то есть первый элемент будет иметь индекс 0, а последний - 2:

const people = ["Tom", "Alice", "Sam"];
console.log(people[0]); // Tom
const person3 = people[2]; // Sam
console.log(person3); // Sam

Если мы попробуем обратиться к элементу по индексу больше размера массива, то мы получим undefined:

const people = ["Tom", "Alice", "Sam"];
console.log(people[7]); // undefined

Также по индексу осуществляется установка значений для элементов массива:

const people = ["Tom", "Alice", "Sam"];
console.log(people[0]); // Tom
people[0] = "Bob";
console.log(people[0]); // Bob

Причем в отличие от других языков, как C# или Java, можно установить элемент, который изначально не установлен:

const people = ["Tom", "Alice", "Sam"];
console.log(people[7]); // undefined - в массиве только три элемента
people[7] = "Bob";
console.log(people[7]); // Bob

Также стоит отметить, что в отличие от ряда языков программирования в JavaScript массивы не являются строго типизированными, один массив может хранить данные разных типов:

const objects = ["Tom", 12, true, 3.14, false];
console.log(objects);

Многомерные массивы

Массивы могут быть одномерными и многомерными. Каждый элемент в многомерном массиве может представлять собой отдельный массив. Выше мы рассматривали одномерный массив, теперь создадим многомерный массив:

const numbers1 = [0, 1, 2, 3, 4, 5 ]; // одномерный массив
const numbers2 = [[0, 1, 2], [3, 4, 5] ]; // двумерный массив

Визуально оба массива можно представить следующим образом:

Одномерный массив numbers1

0

1

2

3

4

5

Двухмерный массив numbers2

0

1

2

3

4

5

Поскольку массив numbers2 двухмерный, он представляет собой простую таблицу. Каждый его элемент может представлять отдельный массив.

Рассмотрим еще один двумерный массив:

const people = [
		["Tom", 25, false],
		["Bill", 38, true],
		["Alice", 21, false]
];

console.log(people[0]); // ["Tom", 25, false]
console.log(people[1]); // ["Bill", 38, true]

Массив people можно представить в виде следующей таблицы:

Tom

25

false

Bill

38

true

Alice

21

false

Чтобы получить отдельный элемент массива, также используется индекс:

const tomInfo = people[0];

Только теперь переменная tomInfo будет представлять массив. Чтобы получить элемент внутри вложенного массива, нам надо использовать его вторую размерность:

console.log("Имя: ", people[0][0]); // Tom
console.log("Возраст: ", people[0][1]); // 25

То есть если визуально двумерный массив мы можем представить в виде таблицы, то элемент people[0][1] будет ссылаться на ячейку таблицы, которая находится на пересечении первой строки и второго столбца (первая размерность - 0 - строка, вторая размерность - 1 - столбец).

Также мы можем выполнить присвоение:

const people = [
		["Tom", 25, false],
		["Bill", 38, true],
		["Alice", 21, false]
];
people[0][1] = 56; // присваиваем отдельное значение
console.log(people[0][1]); // 56
	
people[1] = ["Bob", 29, false]; // присваиваем массив
console.log(people[1][0]); // Bob

При создании многомерных массивов мы не ограничены только двумерными, но также можем использовать массивы больших размерностей:

const numbers = [];
numbers[0] = []; // теперь numbers - двумерный массив
numbers[0][0]=[]; // теперь numbers - трехмерный массив
numbers[0][0][0] = 5; // первый элемент трехмерного массива равен 5
console.log(numbers[0][0][0]);
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850