Перейти к содержимому

Массивы JavaScript

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

Массивы JavaScript — это универсальные упорядоченные коллекции, которые могут хранить различные элементы, включая числа, строки и объекты. Они предлагают гибкий способ группировать и управлять данными в ваших приложениях.

Создание и инициализация массивов

Существует несколько способов создать массивы в JavaScript. Самый распространённый метод — использование синтаксиса литерала массива:


javascript
let fruits = ["Apple", "Banana", "Cherry"];

Альтернативно, вы можете инициализировать массив с помощью конструктора new Array(), хотя это используется реже:


javascript
let fruits = new Array("Apple", "Banana", "Cherry");

Методы и свойства массива

Массивы JavaScript поставляются с набором встроенных методов и свойств, которые упрощают работу с данными.

INFO

Подробнее о встроенных функциях см. в Методы массива JavaScript

Добавление и удаление элементов

  • push(): Добавляет один или несколько элементов в конец массива и возвращает новую длину.

Output appears here after Run.
  • pop(): Удаляет последний элемент из массива и возвращает этот элемент.

Output appears here after Run.
  • unshift(): Добавляет один или несколько элементов в начало массива и возвращает новую длину.

Output appears here after Run.
  • shift(): Удаляет первый элемент из массива и возвращает этот элемент.

Output appears here after Run.

Доступ к элементам и их перебор

  • length: Это свойство возвращает количество элементов в массиве.
  • forEach(): Этот метод выполняет переданную функцию один раз для каждого элемента массива.

Output appears here after Run.
  • map(): Создаёт новый массив с результатами вызова переданной функции для каждого элемента исходного массива.

Output appears here after Run.

Продвинутые операции с массивами

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

Массивы JavaScript могут хранить другие массивы, что позволяет создавать многомерные массивы.


Output appears here after Run.

Оператор spread и деструктуризация

Оператор spread

Оператор spread (...) в JavaScript позволяет разворачивать итерируемый объект (например, массив или строку) в местах, где ожидается несколько элементов или аргументов. Он невероятно универсален для операций с массивами.

  • Объединение массивов:

Output appears here after Run.
  • Копирование массивов:

Output appears here after Run.
  • Использование с функциями:

Output appears here after Run.
Деструктуризация

Деструктуризация в JavaScript позволяет распаковывать значения из массивов или свойства из объектов в отдельные переменные.

  • Деструктуризация массива:

Output appears here after Run.
  • Обмен значений переменных:

javascript
let a = 1, b = 2;
[a, b] = [b, a];   // a becomes 2, b becomes 1
console.log(a, b);
  • Значения по умолчанию:

Output appears here after Run.

И оператор spread, и деструктуризация повышают читаемость и эффективность кода JavaScript, позволяя использовать более лаконичные и выразительные шаблоны программирования.

Методы обратного вызова массива

Такие методы, как filter, reduce и some, предоставляют мощные способы обработки и оценки данных в массивах. Эти методы принимают функцию обратного вызова в качестве аргумента и могут выполнять различные сложные операции.

  • filter(): Создаёт новый массив со всеми элементами, которые проходят проверку, реализованную переданной функцией.

Output appears here after Run.

Сортировка и поиск в массиве

  • sort(): Сортирует элементы массива на месте и возвращает отсортированный массив.

WARNING

По умолчанию sort() преобразует элементы в строки и сортирует их лексикографически. Для чисел это может привести к неожиданным результатам (например, 10 идёт перед 2). Всегда передавайте функцию сравнения для числовой сортировки.


Output appears here after Run.
  • find() and findIndex(): Используются для поиска элемента в массиве.

Output appears here after Run.

Преобразование массивов в строки

Метод join() объединяет все элементы массива в одну строку.


Output appears here after Run.

Лучшие практики использования массивов в JavaScript

  • Используйте const для объявления массивов, которым не требуется повторное присваивание.

Использование const для объявления массива — хорошая практика. Это предотвращает повторное присваивание идентификатора массива, гарантируя, что ссылка на массив останется неизменной. Однако содержимое массива по-прежнему можно изменять.


Output appears here after Run.

Это гарантирует, что fruits всегда будет ссылаться на один и тот же массив, но не означает, что сам массив неизменяем.

  • Предпочитайте функциональные методы, такие как map, filter и reduce, для операций с массивами.
  • Используйте возможности ES6, такие как оператор spread и деструктуризация, для более лаконичного и читаемого кода.

Заключение

Массивы JavaScript — это фундаментальный аспект языка, предоставляющий мощный набор возможностей для работы с коллекциями данных. Понимая методы и свойства массивов и следуя лучшим практикам, вы сможете эффективно управлять данными массивов и изменять их в своих приложениях JavaScript.

Практика

Какие из следующих способов являются способами объявления массива в JavaScript?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.