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

Методы split() и join()arrow-up-right

Метод split(delimeter) превращает строку в массив, «разбив» её по разделителю delimeter. Если разделитель это пустая строка, то получится массив отдельных символов. Разделителем может быть один или несколько символов.

const name = "Mango";
console.log(name.split("")); 
// ["M", "a", "n", "g", "o"]

const message = "JavaScript это интересно";
console.log(message.split(" ")); 
// ["JavaScript", "это", "интересно"]

Метод массивов join(delimeter) соединяет элементы массива в строку. В строке элементы будут разделены символом или группой символов указанных в delimeter. То есть это операция обратная методу строк split(delimeter).

const words = ["JavaScript", "это", "интересно"];
console.log(words.join("")); // "JavaScriptэтоинтересно"
console.log(words.join(" ")); // "JavaScript это интересно"
console.log(words.join("-")); // "JavaScript-это-интересно"

Метод indexOf()arrow-up-right

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

const clients = ["Mango", "Ajax", "Poly", "Kiwi"];
console.log(clients.indexOf("Poly")); // 2
console.log(clients.indexOf("Monkong")); // -1

Метод includes()arrow-up-right

includes(value) проверяет есть ли в массиве элемент со значением value и возвращает true или false соответственно. Область применения этого метода сводится к ситуациям когда необходимо проверить есть ли элемент в массиве и не важна его позиция (индекс).

Проверка множественных условий с includes()arrow-up-right

На первый взгляд код следующего примера выглядит хорошо.

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

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

Методы push() и pop()arrow-up-right

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

array methods

Метод push() добавляет один или несколько элементов в конец массива, без необходимости указывать индексы добавляемых элементов. Возвращает длину массива после добавления элементов.

push method

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

pop method

Метод slice()arrow-up-right

slice(begin, end) возвращает новый массив, содержащий копию части исходного массива, не изменяя его. Копия делается от begin и до, но не включая, end - индексы элементов исходного массива.

slice method

Если begin и end не указаны, будет создана полная копия исходного массива.

Если не указан end, копирование будет от start и до конца исходного массива.

Если значение start отрицательное, а end не указан, то будут скопированы последние start элементов

Метод splice()arrow-up-right

Швейцарский нож для работы с массивами, если исходный массив нужно изменить. Удаляет, добавляет и заменяет элементы в произвольном месте массива.

Удалениеarrow-up-right

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

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

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

Метод splice изменяет исходный массив и возвращает массив, содержащий удаленные элементы. Например, у нас есть массив оценок, который содержит пять чисел от 1 до 5.

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

splice remove

ИНТЕРЕСНО

На практике возвращаемое значение (массив удалённых элементов) используется редко. В основном просто необходимо удалить элементы из массива.

Добавлениеarrow-up-right

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

Скопировать

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

  • Второй аргумент это ноль, он говорит методу не удалять элементы в месте добавления новых.

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

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

Скопировать

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

splice insert

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

Заменаarrow-up-right

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

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

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

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

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

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

splice replace

Метод concat()arrow-up-right

Объединяет два или более массива в один. Он не изменяет массив на котором вызывается, а возвращает новый. Порядок аргументов метода влияет на порядок элементов нового массива.

Last updated