JavaRush /Курсы /Модуль 1: Web Core /Основные методы массивов

Основные методы массивов

Модуль 1: Web Core
19 уровень , 6 лекция
Открыта

7.1 Метод splice()

Массивы в JavaScript предоставляют встроенные методы для манипуляции с данными. В этой лекции мы рассмотрим четыре основных метода массивов: splice(), slice(), concat() и indexOf(). Каждый из этих методов выполняет определенные операции над массивами и может значительно упростить обработку данных.

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

Синтаксис:

    
   
     splice 
   (start, deleteCount, item1, item2, ...);
    
  

Где:

  • start: индекс, с которого нужно начинать изменения
  • deleteCount: количество удаляемых элементов. Если не указано, удаляются все элементы, начиная с позиции start
  • item1, item2, ...: элементы, добавляемые в массив. Если не указано, элементы не добавляются

Пример 1: Удаление элементов

В этом примере из массива fruits удаляются два элемента, начиная с индекса 2. Возвращаемое значение — массив удаленных элементов.

JavaScript
    
      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. Удаление элементов не производится.

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry'];
      fruits.splice(2, 0, 'date', 'fig');

      console.log(fruits);   // Выведет: ['apple', 'banana', 'date', 'fig', 'cherry']
    
  

Пример 3: Замена элементов

В этом примере элемент с индексом 1 (banana) заменяется двумя новыми элементами (date и fig).

JavaScript
    
      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.

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry', 'date', 'fig'];
      let sliced = fruits.slice(1, 3);

      console.log(sliced);   // Выведет: ['banana', 'cherry']
    
  

Пример 2: Копирование с начала массива

В этом примере создается новый массив, содержащий элементы с индексами 0 и 1 из массива fruits.

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry'];
      let sliced = fruits.slice(0, 2);

      console.log(sliced);   // Выведет: ['apple', 'banana']
    
  

Пример 3: Копирование до конца массива

В этом примере создается новый массив, содержащий элементы с индекса 1 до конца массива fruits.

JavaScript
    
      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.

JavaScript
    
      let fruits1 = ['apple', 'banana'];
      let fruits2 = ['cherry', 'date'];
      let combined = fruits1.concat(fruits2);

      console.log(combined); // Выведет: ['apple', 'banana', 'cherry', 'date']
    
  

Пример 2: Объединение нескольких массивов

В этом примере три массива объединяются в новый массив combined.

JavaScript
    
      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.

JavaScript
    
      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.

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry'];
      let index = fruits.indexOf('banana');

      console.log(index); // Выведет: 1
    
  

Пример 2: Элемент не найден

В этом примере метод indexOf() возвращает -1, так как элемент date не найден в массиве fruits.

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry'];
      let index = fruits.indexOf('date');

      console.log(index); // Выведет: -1
    
  

Пример 3: Поиск элемента с определенного индекса

В этом примере метод indexOf() начинает поиск элемента banana с индекса 2 и находит его на индексе 3.

JavaScript
    
      let fruits = ['apple', 'banana', 'cherry', 'banana'];
      let index = fruits.indexOf('banana', 2);

      console.log(index); // Выведет: 3
    
  
1
Задача
Модуль 1: Web Core, 19 уровень, 6 лекция
Недоступна
Копирование части массива
Копирование части массива
1
Задача
Модуль 1: Web Core, 19 уровень, 6 лекция
Недоступна
Поиск индекса
Поиск индекса
Комментарии (4)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Vadim Makarenko Уровень 42
14 августа 2025
Напоминаю, что помимо метода concat() с задачей склейки массивов справляется оператор распаковки (спред). Он рассматривался в Лекции №3 на уровне 36.
Daria Snegireva Уровень 20
26 августа 2025
When the argument is not an array, concat adds it as a whole, while ... tries to iterate it and fails if it can't. Consider: a = [1, 2, 3] x = 'hello'; console.log(a.concat(x)); // [ 1, 2, 3, 'hello' ] console.log([...a, ...x]); // [ 1, 2, 3, 'h', 'e', 'l', 'l', 'o' ]
Vadim Makarenko Уровень 42
26 августа 2025
А зачем лишний спред? Взяли бы один - и результаты были бы одинаковыми: console.log([...a, x]); // [ 1, 2, 3, 'hello' ]
Максим Уровень 69
8 июля 2025
Для лучшего усвоения разницы между Splice и Slice было бы логично в первом задании запросить вывод двух массивов, "старого" и "нового".