Назовите 3-4 метода массива Flashcards

1
Q

Назовите 3-4 метода массива

A

Добавление/удаление элементов
Мы уже знаем методы, которые добавляют и удаляют элементы из начала или конца:

arr.push(…items) – добавляет элементы в конец,
arr.pop() – извлекает элемент из конца,
arr.shift() – извлекает элемент из начала,
arr.unshift(…items) – добавляет элементы в начало.

Метод arr.splice – это универсальный «швейцарский нож» для работы с массивами. Умеет всё: добавлять, удалять и заменять элементы.

arr.splice(start[, deleteCount, elem1, …, elemN])
Он изменяет arr начиная с индекса start: удаляет deleteCount элементов и затем вставляет elem1, …, elemN на их место. Возвращает массив из удалённых элементов.

Этот метод легко понять, рассмотрев примеры.
Начнём с удаления:
Первый пример (удаление):
let arr = [“Я”, “изучаю”, “JavaScript”];
arr.splice(1, 1); // начиная с индекса 1, удалить 1 элемент
alert( arr ); // осталось [“Я”, “JavaScript”]
Второй пример (удаление):
let arr = [“Я”, “изучаю”, “JavaScript”, “прямо”, “сейчас”];
// удалить 3 первых элемента и заменить их другими
arr.splice(0, 3, “Давай”, “танцевать”);
alert( arr ) // теперь [“Давай”, “танцевать”, “прямо”, “сейчас”]
Третий пример (добавление):
let arr = [“Я”, “изучаю”, “JavaScript”];
// с индекса 2
// удалить 0 элементов
// вставить “сложный”, “язык”
arr.splice(2, 0, “сложный”, “язык”);
alert( arr ); // “Я”, “изучаю”, “сложный”, “язык”, “JavaScript”

Метод arr.slice Он возвращает новый массив, в который копирует все элементы с индекса start до end (не включая end). start и end могут быть отрицательными, в этом случае отсчёт позиции будет вестись с конца массива.
Пример:
let arr = [“t”, “e”, “s”, “t”];
alert( arr.slice(1, 3) ); // e,s (копирует с 1 до 3)
alert( arr.slice(-2) ); // s,t (копирует с -2 до конца)

Метод arr.concat создаёт новый массив, в который копирует данные из других массивов и дополнительные значения.
arr.concat(arg1, arg2…)
Он принимает любое количество аргументов, которые могут быть как массивами, так и простыми значениями.
В результате – новый массив, включающий в себя элементы из arr, затем arg1, arg2 и так далее.
Если аргумент argN – массив, то копируются все его элементы. Иначе копируется сам аргумент.
Пример:
let arr = [1, 2];
// создать массив из: arr и [3,4]
alert( arr.concat([3, 4]) ); // 1,2,3,4
// создать массив из: arr и [3,4] и [5,6]
alert( arr.concat([3, 4], [5, 6]) ); // 1,2,3,4,5,6
// создать массив из: arr и [3,4], потом добавить значения 5 и 6
alert( arr.concat([3, 4], 5, 6) ); // 1,2,3,4,5,6

Методов arr.indexOf и arr.includes одинаковый синтаксис и они делают по сути то же самое, что и их строковые аналоги, но работают с элементами вместо символов:
arr.indexOf(item, from) ищет item начиная с индекса from и возвращает номер индекса, на котором был найден искомый элемент, в противном случае -1.
arr.includes(item, from) ищет item начиная с индекса from и возвращает true, если поиск успешен.
Пример:
let arr = [1, 0, false];
alert( arr.indexOf(0) ); // 1
alert( arr.indexOf(false) ); // 2
alert( arr.indexOf(null) ); // -1
alert( arr.includes(1) ); // true

How well did you know this?
1
Not at all
2
3
4
5
Perfectly