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

1. Методы split() и join()

split(s) — позволяет превратить строку в массив, разбив ее по разделителю s. Это не метод массива, но рассматриваем мы его сейчас, так как раньше мы о массивах не знали.

join(s) — делает в точности противоположное split. Он берет массив и склеивает его в строку, используя s как разделитель.

// split
const message = 'Welcome to Bahamas!';

// Разбивает строку по разделителю, в данном случае это пробел
console.log(message.split(' ')); // ["Welcome", "to", "Bahamas!"]

// Вызов split с пустой строкой разобьёт по буквам
console.log(message.split('')); // [много букв :)]

// join
const clients = ['Mango', 'Poly', 'Ajax'];

// Сошьет все элементы массива в строку,
// между каждой парой элементов будет указанный разделитель
console.log(clients.join(' ')); // "Mango Poly Ajax"
console.log(clients.join(',')); // "Mango,Poly,Ajax"
console.log(clients.join('-')); // "Mango-Poly-Ajax"
Copy

2. Методы indexOf() и includes()

array.indexOf(x) — возвращает первый индекс, в котором элемент x был найден в массиве или число -1, если такого элемента нет. Используйте indexOf тогда, когда необходимо получить непосредственно индекс элемента.

array.includes(x) — определяет, содержит ли массив некоторый элемент x, возвращая true или false соответственно. Используйте includes тогда, когда необходимо проверить есть ли элемент в массиве и не важен его порядковый номер.

2.1. Проверка множественных условий с includes()

На первый взгляд пример ниже выглядит вполне хорошо. Однако, что если у нас будет больше красных фруктов, к примеру ещё вишня (cherry) или клюква (cranberries)? Будем ли мы расширять условие с помощью дополнительных ||?

Можем переписать условие, с использованием Array.includes, это очень просто и масштабируемо.

3. Методы push(), pop(), shift(), unshift()

Добавляют или удаляют крайние элементы массива. Работают только с крайним левым и крайним правым элементом массива и не могут поставить или удалить элемент с произвольной позиции. Для наглядности, взгляните на иллюстрацию ниже.

3.1. push и pop

push() — позволяет добавить один или несколько элементов в конец массива. Метод возвращает значение свойства length, которое определяет количество элементов в массиве.

pop() — удаляет элемент из конца массива и возвращает удаленный элемент. Если массив пуст, метод возвращает undefined.

В примере кодом описаны иллюстрации выше, первые 3 шага. Создается пустой массив с именем stack и в конец массива добавляется три числа, одно за другим используя push(), затем они удаляются используя pop().

3.2. shift() и unshift()

Реже используются методы shift и unshift.

  • shift() — удаляет элемент из начала массива и возвращает его (элемента) значение.

  • unshift() — добавляет элемент в начало массива.

4. Метод slice()

Синтаксис метода slice() одинаков для строк и массивов. Его просто запомнить. Он позволяет извлекать элементы подмножества массива и добавлять их в новый массив. В большинстве случаев используется для создания копии части или целого исходного массива.

Копирует элементы от begin, до, но не включая, end.

  • Оба аргумента ( begin и end) не обязательны.

  • Параметр begin определяет индекс, с которого следует начинать извлечение.

  • Параметр end, определяет индекс элемента, на котором следует закончить извлечение. Метод slice не включает элемент с индексом end в извлеченные элементы.

  • Если begin и end не указаны, копирование будет с начала массива, с индекса 0, - то есть скопируется весь массив.

  • Если не указать параметр end, метод slice будет использовать длину массива (length) для параметра end.

  • Метод slice не изменяет исходный массив, а возвращает новый массив, содержащий копию элементов исходного.

  • Можно использовать отрицательные индексы, они отсчитываются с конца.

5. Метод splice()

splice() — швейцарский нож для работы с массивами, в том случае, если исходный массив необходимо изменить. Позволяет удалять, добавлять и заменять элементы в произвольном месте массива.

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

Чтобы удалить элементы в массиве, передаются два аргумента.

  • position — указывает позицию (индекс) первого элемента для удаления

  • num — определяет количество удаляемых элементов

Метод splice изменяет исходный массив и возвращает массив, содержащий удаленные элементы.

На рисунке показан вызов метода score.splice(0, 3) из примера выше.

5.2. Вставка элементов в массив

Вы можете вставить один или несколько элементов в массив, передав три или более аргумента методу splice, при этом второй аргумент должен быть равен нулю.

  • Аргумент position указывает начальную позицию в массиве, куда будут вставлены новые элементы.

  • Второй аргумент равен нулю 0, он говорит методу не удалять какие-либо элементы.

  • Третий, четвертый и все последующие аргументы — это новые элементы, которые вставляются в массив.

На рисунке показан вызов метода colors.splice(2, 0, 'purple') из примера выше.

5.3. Замена элементов массива

Метод splice() также позволяет вставить новые элементы в массив при одновременном удалении существующих элементов.

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

На рисунке показан вызов метода languages.splice(1, 1, 'Python') из примера выше.

splice method

6. Метод concat()

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

Last updated