JavaScript для тупых
  • JavaScript для тупых
  • Главная
  • Об учебнике
  • Формат обучения
  • Ввод в JavaScript. Что это? И для чего нужен?
  • Братки JavaScript-а
  • Переменные в JavaScript
  • Переменные. const, let, var
  • Преобразование типов
  • Операторы сравнения
  • Типы данных. Number
  • Типы данных. String
  • Типы данных. Boolean
  • Типы данных. null и undefined
  • Типы данных. Оператор typeof
  • Условные операторы: if и ?
  • Циклы: while, for
  • Операторы
  • Логические операторы
  • Знакомство с switch
  • Функции
  • Функции. Возврат значения
  • Стрелочные функции
  • Знакомство с DOM
  • DOM-элементы. Получение объектов
  • DOM-элементы. События. Ввод.
  • DOM-элементы. События. Часть 2
  • Объекты. Начало игры
  • Массивы
  • Методы массивов: splice, slice, concat
  • Методы массивов: find, findIndex, filter
  • Методы массивов: map, sort
  • Методы массивов: reverse, split, join
  • Методы массивов: indexOf, lastIndexOf, includes
  • Методы массивов: reduce, spread
  • Методы массивов: Array.isArray, some, every
  • Методы массивов: flat, fill
  • Планирование вызова функции: setTimeout
  • Планирование вызова функции: setInterval
  • Объекты. Свойства.
  • Объекты. Методы
  • this, call, apply, bind
  • Замыкания
  • Прототипы
  • Promises (Обещания)
Powered by GitBook
On this page

Was this helpful?

Методы массивов: splice, slice, concat

JavaScript простым языком

PreviousМассивыNextМетоды массивов: find, findIndex, filter

Last updated 4 years ago

Was this helpful?

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

Метод splice

В предыдущем уроке мы узнали как добавлять элементы в начало/конец массива, а так же как удалять элементы с конца/начала массива. Скорее всего ты задавался вопросом, а как же удалить элемент, если он не в начале массива и не в конце.

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

const languages = ['python', 'java', 'js'];
languages.splice(0, 2);
console.log(languages); // ['js']

Обрати внимание на аргументы при вызове splice(). Первый аргумент – 0, а второй –2.

Первый аргумент – это указание индекса (позиции) элемента в массиве, с которого нужно начинать удаление.

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

Итого, этим languages.splice(0, 2), мы сказали: удали 2 элемента начиная с индекса 0.

У этого метода есть еще одно достоинство – умение добавлять элементы (любое количество) на место удаленных элементов. Пример:

const languages = ['python', 'java', 'js'];
languages.splice(0, 2, 'php', 'c#', 'c++');
console.log(languages); // ['php', 'c#', 'c++', 'js']

Первые два аргумента метода объяснены выше, а вот следующие за ними аргументы будут вставляться в массив на место удаленных элементов. Их количество не ограничено – хочешь, добавь один элемент, хочешь 10 тысяч элементов, все будет прекрасно работать.

Этот метод меняет массив по месту, т.е. меняет исходный массив.

Метод slice

Метод копирует указанные элементы массива и создает из них новый.

const languages = ['java', 'python', 'php', 'c++', 'js'];
const newList = languages.slice(2, 4);

console.log(newList); // ['php', 'c++']

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

Метод имеет только 2 аргумента.

Первый аргумент – индекс элемента С которого нужно начинать копирование.

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

languages.slice(2, 4) – в данном случае, мы говорим: скопируй элементы с индексом 2 и 3. Элемент с индексом 4 не будет включен.

Аргументы могут быть не только положительными числами, но и отрицательными, в таком случае отсчёт будет начинаться с конца массива.

Метод concat

Метод concat, фактически, создает из нескольких массивов/значений один, объединяя их. Результат выполнения метода – новый массив, который нужно куда-то записать для дальнейшей работы с ним.

const languages = ['python', 'java', 'js'];
const additionalLanguages = ['c#', 'c++'];

const summary = languages.concat(additionalLanguages); 
console.log(summary); // ['python', 'java', 'js', 'c#',\
// 'c++']

Метод принимает неограниченное количество аргументов. Если аргумент является массивом, то все его элементы копируются. В противном случае копируется сам аргумент.

const languages = ['js'];
languages.concat(['python', 'php'], 'java'); // ['js', \
// 'python', 'php', 'java']
Generic badge