Skip to content

Шпаргалка по методам массивов JavaScript

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

Создание массива

JavaScript предоставляет несколько способов создания массивов:

Использование литералов массива

let arr = [1, 2, 3];

Использование конструктора

let arr = new Array(1, 2, 3);

Использование метода Array.of

let arr = Array.of(1, 2, 3);

Использование метода Array.from

let arr = Array.from('123'); // ['1', '2', '3']

Операции с массивами

Массивы предоставляют множество методов для добавления, удаления, изменения и запроса данных:

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

  • push: добавить один или несколько элементов в конец массива.
  • unshift: добавить один или несколько элементов в начало массива.

Удаление элементов

  • pop: удалить последний элемент массива.
  • shift: удалить первый элемент массива.
  • splice: удалить любое количество элементов по индексу.

Поиск элементов

  • indexOf: найти индекс элемента в массиве.
  • includes: определить, содержит ли массив определенный элемент.

Итерация по массивам

  • forEach: один раз выполнить функцию обратного вызова для каждого элемента массива.
  • map: создать новый массив с результатами вызова предоставленной функции для каждого элемента в вызывающем массиве.
  • filter: создать новый массив со всеми элементами, прошедшими тест, реализованный предоставленной функцией.

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

  • join: объединить все элементы массива σε строку.
  • slice: вернуть поверхностную копию части массива.
  • concat: объединить два или более массивов.

Новые функции ES6

В ES6 было внесено множество улучшений в операции с массивами:

Оператор расширения (Spread Operator)

let arr = [1, 2, 3];
let arr2 = [...arr, 4, 5]; // [1, 2, 3, 4, 5]

Array.prototype.find

let result = arr.find(item => item > 2); // 3

Array.prototype.findIndex

let index = arr.findIndex(item => item > 2); // 2

Array.prototype.fill

arr.fill(0); // [0, 0, 0]

Array.prototype.includes

arr.includes(2); // true

Оптимизация производительности

При работе с большими массивами оптимизация производительности особенно важна:

  • Старайтесь использовать нативные методы, такие как map и filter, которые обычно реализованы на C++ и работают быстрее, чем циклы JavaScript.
  • Для массивов, которыми часто манипулируют, рассмотрите возможность использования Typed Arrays.
  • Избегайте манипуляций с DOM внутри циклов; вместо этого соберите DOM-узлы, которыми нужно управлять, и выполните операцию сразу.

Заключение

Благодаря этому руководству вы должны глубже понять операции с массивами JavaScript. Дополнительную информацию можно найти в MDN Web Docs.