Зарегистрируйтесь, чтобы продолжить обучение

Синтаксис 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