Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Синтаксис JS: Массивы

Массивом в программировании представляют любые упорядоченные наборы (или коллекции) элементов, будь то курсы на Хекслете, студенты в группе или друзья в вашей любимой социальной сети. Задача массива — представить такие коллекции в виде единой структуры, которая позволяет работать с ними как с единым целым.

Определение массива

// Создание пустого массива
const items = [];

// Создание массива с тремя элементами
const animals = ['cats', 'dogs', 'birds'];

В примере происходит определение массива ['cats', 'dogs', 'birds'], который затем присваивается константе animals.

Обратите внимание на именование констант, содержащих массивы. Они во множественном числе. Это подчеркивает природу константы и делает код проще для анализа.

Получение данных

Элементы в массиве упорядочены слева направо. Каждый элемент имеет порядковый номер, называемый индексом. Индексация массива начинается с нуля. То есть первый элемент массива доступен по индексу 0, второй — по индексу 1 и так далее. Для извлечения элемента из массива по индексу используется особый синтаксис:

const animals = ['cats', 'dogs', 'birds'];
animals[0]; // 'cats'
animals[1]; // 'dogs'
// Последний индекс в массиве всегда меньше размера массива на единицу.
// В этом массиве три элемента, но последний индекс равен двум
animals[2]; // 'birds'

Узнать размер массива можно, обратившись к его свойству length.

const animals = ['cats', 'dogs', 'birds'];
// У массивов много других свойств и методов, с которыми мы познакомимся в процессе прохождения курсов.
animals.length; // 3

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

let i = 1;
const animals = ['cats', 'dogs', 'birds'];
animals[i]; // 'dogs'

И даже так:

let i = 1;
let j = 1;
const animals = ['cats', 'dogs', 'birds'];
animals[i + j]; // 'birds'

Такой вызов возможен по одной простой причине — внутри скобок ожидается выражение. А там, где ожидается выражение, можно подставлять всё, что вычисляется. В том числе вызовы функций:

const getIndexOfSecondElement = () => 1;
const animals = ['cats', 'dogs', 'birds'];
animals[getIndexOfSecondElement()]; // 'dogs'

Довольно часто, в задачах с использованием массивов, нужно взять последний элемент. Для этого вычисляется последний индекс массива по формуле размер_массива - 1, по которому и можно обратиться к последнему элементу:

const animals = ['cats', 'dogs', 'birds'];
animals[animals.length - 1]; // 'birds'

at()

Другой способ работать с индексами - метод at(). Его добавили для возможности указывать отрицательные индексы, это позволяет брать элементы с конца без вычисления индексов, как в примере выше:

const animals = ['cats', 'dogs', 'birds'];
animals.at(0); // 'cats'
animals.at(1); // 'dogs'
// Первый с конца
animals.at(-1); // 'birds'
// Второй с конца
animals.at(-2); // 'dogs'

Дополнительные материалы

  1. Документация

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов для веб-приложений
6 октября 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов для веб-приложений
6 октября 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
6 октября 16 месяцев

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и соглашаетесь с «Условиями использования»