7.1 Метод splice()
Массивы в JavaScript предоставляют встроенные методы для манипуляции с данными. В этой лекции мы рассмотрим четыре основных метода массивов: splice(), slice(), concat() и indexOf(). Каждый из этих методов выполняет определенные операции над массивами и может значительно упростить обработку данных.
Метод splice() изменяет содержимое массива, удаляя существующие элементы и/или добавляя новые элементы на их место.
Синтаксис:
splice
(start, deleteCount, item1, item2, ...);
Где:
start: индекс, с которого нужно начинать измененияdeleteCount: количество удаляемых элементов. Если не указано, удаляются все элементы, начиная с позицииstartitem1,item2,...: элементы, добавляемые в массив. Если не указано, элементы не добавляются
Пример 1: Удаление элементов
В этом примере из массива fruits удаляются два элемента, начиная с индекса 2. Возвращаемое значение — массив удаленных элементов.
let fruits = ['apple', 'banana', 'cherry', 'date', 'fig'];
let removed = fruits.splice(2, 2);
console.log(fruits); // Выведет: ['apple', 'banana', 'fig']
console.log(removed); // Выведет: ['cherry', 'date']
Пример 2: Добавление элементов
В этом примере в массив fruits добавляются два новых элемента (date и fig) начиная с индекса 2. Удаление элементов не производится.
let fruits = ['apple', 'banana', 'cherry'];
fruits.splice(2, 0, 'date', 'fig');
console.log(fruits); // Выведет: ['apple', 'banana', 'date', 'fig', 'cherry']
Пример 3: Замена элементов
В этом примере элемент с индексом 1 (banana) заменяется двумя новыми элементами (date и fig).
let fruits = ['apple', 'banana', 'cherry'];
fruits.splice(1, 1, 'date', 'fig');
console.log(fruits); // Выведет: ['apple', 'date', 'fig', 'cherry']
7.2 Метод slice()
Метод slice() возвращает новый массив, содержащий копию части исходного массива. Исходный массив не изменяется.
Синтаксис:
array.slice(begin, end);
Где:
begin: индекс, с которого нужно начинать копированиеend: индекс, до которого копировать (не включая элемент с этим индексом). Если не указано, копируются все элементы до конца массива
Пример 1: Копирование части массива
В этом примере создается новый массив, содержащий элементы с индексами от 1 до 2 из массива fruits.
let fruits = ['apple', 'banana', 'cherry', 'date', 'fig'];
let sliced = fruits.slice(1, 3);
console.log(sliced); // Выведет: ['banana', 'cherry']
Пример 2: Копирование с начала массива
В этом примере создается новый массив, содержащий элементы с индексами 0 и 1 из массива fruits.
let fruits = ['apple', 'banana', 'cherry'];
let sliced = fruits.slice(0, 2);
console.log(sliced); // Выведет: ['apple', 'banana']
Пример 3: Копирование до конца массива
В этом примере создается новый массив, содержащий элементы с индекса 1 до конца массива fruits.
let fruits = ['apple', 'banana', 'cherry'];
let sliced = fruits.slice(1);
console.log(sliced); // Выведет: ['banana', 'cherry']
7.3 Метод concat()
Метод concat() используется для объединения двух или более массивов. Он возвращает новый массив, содержащий элементы всех объединенных массивов.
Синтаксис:
array1.concat(array2, array3, ...);
Где:
array1,array2,array3,...: массивы, которые необходимо объединить
Пример 1: Объединение двух массивов
В этом примере массивы fruits1 и fruits2 объединяются в новый массив combined.
let fruits1 = ['apple', 'banana'];
let fruits2 = ['cherry', 'date'];
let combined = fruits1.concat(fruits2);
console.log(combined); // Выведет: ['apple', 'banana', 'cherry', 'date']
Пример 2: Объединение нескольких массивов
В этом примере три массива объединяются в новый массив combined.
let fruits1 = ['apple', 'banana'];
let fruits2 = ['cherry', 'date'];
let fruits3 = ['fig', 'grape'];
let combined = fruits1.concat(fruits2, fruits3);
console.log(combined); // Выведет: ['apple', 'banana', 'cherry', 'date', 'fig', 'grape']
Пример 3: Объединение массива с элементами
В этом примере к массиву fruits добавляются элементы cherry и date, создавая новый массив moreFruits.
let fruits = ['apple', 'banana'];
let moreFruits = fruits.concat('cherry', 'date');
console.log(moreFruits); // Выведет: ['apple', 'banana', 'cherry', 'date']
7.4 Метод indexOf()
Метод indexOf() возвращает первый индекс, по которому данный элемент может быть найден в массиве, или -1, если элемент не найден.
Синтаксис:
array.indexOf(searchElement, fromIndex);
Где:
searchElement: элемент, который необходимо найтиfromIndex: индекс, с которого начинать поиск. Если не указан, поиск начинается с начала массива
Пример 1: Поиск элемента в массиве
В этом примере метод indexOf() возвращает индекс элемента banana в массиве fruits.
let fruits = ['apple', 'banana', 'cherry'];
let index = fruits.indexOf('banana');
console.log(index); // Выведет: 1
Пример 2: Элемент не найден
В этом примере метод indexOf() возвращает -1, так как элемент date не найден в массиве fruits.
let fruits = ['apple', 'banana', 'cherry'];
let index = fruits.indexOf('date');
console.log(index); // Выведет: -1
Пример 3: Поиск элемента с определенного индекса
В этом примере метод indexOf() начинает поиск элемента banana с индекса 2 и находит его на индексе 3.
let fruits = ['apple', 'banana', 'cherry', 'banana'];
let index = fruits.indexOf('banana', 2);
console.log(index); // Выведет: 3
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ