Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Стандартные встроенные объекты
  5. Array
  6. Array.prototype.splice()

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

Array.prototype.splice()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..

Сводка

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

Синтаксис

js
splice(start)splice(start, deleteCount)splice(start, deleteCount, item1)splice(start, deleteCount, item1, item2)splice(start, deleteCount, item1, item2, /* …, */ itemN)

Параметры

start

Индекс, с которого начинается изменение массива (от нуля), преобразованный в целое число.

  • Отрицательный индекс отсчитывается от конца массива: если-array.length <= start < 0, то используетсяstart + array.length.
  • Еслиstart < -array.length, то используется0.
  • Еслиstart >= array.length, то ни один элемент не будет удален, но метод добавит столько элементов, сколько указано.
  • Еслиstart опущен (иsplice() вызывается без аргументов), то ничего не удаляется. Это отличается от передачи значенияundefined, которое преобразуется в0.
deleteCountНеобязательный

Целое число, указывающее количество элементов в массиве, которые нужно удалить, начиная с позицииstart.

ЕслиdeleteCount не задано или его значение больше или равно количеству элементов после позиции, указанной вstart, то будут удалены все элементы отstart до конца массива. Если требуется указать параметрitemN, то следует передатьInfinity в качествеdeleteCount, чтобы удалить все элементы послеstart, поскольку явное значениеundefined преобразуется в0.

ЕслиdeleteCount равно0 или отрицательное, элементы не удаляются. В этом случае следует указать как минимум один новый элемент (см. ниже).

item1, …,itemNНеобязательный

Элементы, которые нужно добавить в массив, начиная соstart.

Если не указать никаких элементов, функцияsplice() только удалит элементы из массива.

Возвращаемое значение

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

Описание

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

Примеры

Удаляет 0 элементов по индексу 2 и вставляет "drum"

js
var myFish = ["angel", "clown", "mandarin", "sturgeon"];var removed = myFish.splice(2, 0, "drum");// myFish равен ["angel", "clown", "drum", "mandarin", "sturgeon"]// removed равен [], ничего не удалено

Удаляет 1 элемент по индексу 3

js
var myFish = ["angel", "clown", "drum", "mandarin", "sturgeon"];var removed = myFish.splice(3, 1);// removed равен ["mandarin"]// myFish равен ["angel", "clown", "drum", "sturgeon"]

Удаляет 1 элемент по индексу 2 и вставляет "trumpet"

js
var myFish = ["angel", "clown", "drum", "sturgeon"];var removed = myFish.splice(2, 1, "trumpet");// myFish равен ["angel", "clown", "trumpet", "sturgeon"]// removed равен ["drum"]

Удаляет 2 элемента начиная с индекса 0 и вставляет "parrot", "anemone" и "blue"

js
var myFish = ["angel", "clown", "trumpet", "sturgeon"];var removed = myFish.splice(0, 2, "parrot", "anemone", "blue");// myFish равен ["parrot", "anemone", "blue", "trumpet", "sturgeon"]// removed равен ["angel", "clown"]

Удаляет 2 элемента начиная с индекса 2

js
var myFish = ["parrot", "anemone", "blue", "trumpet", "sturgeon"];var removed = myFish.splice(myFish.length - 3, 2);// myFish равен ["parrot", "anemone", "sturgeon"]// removed равен ["blue", "trumpet"]

Удаляет 1 элемент по индексу -2

js
var myFish = ["angel", "clown", "mandarin", "sturgeon"];var removed = myFish.splice(-2, 1);// myFish равен ["angel", "clown", "sturgeon"]// removed равен s ["mandarin"]

Удаляет все элементы после индекса 2 (включительно)

js
var myFish = ["angel", "clown", "mandarin", "sturgeon"];var removed = myFish.splice(2);// myFish равен ["angel", "clown"]// removed равен ["mandarin", "sturgeon"]

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.splice

Совместимость с браузерами

Обратная совместимость

В JavaScript 1.2 методsplice() возвращал удалённый элемент только если был удалён один элемент (параметрdeleteCount равен 1); в противном случае метод возвращал массив с удалёнными элементами. Обратите внимание, что последним браузером, использующим JavaScript 1.2, был Netscape Navigator 4, так что вы можете считать, чтоsplice() всегда возвращает массив.

Смотрите также

  • push() /pop() — добавление / удаление элементов с конца массива
  • unshift() /shift() — добавление / удаление элементов с начала массива
  • concat() — возвращает новый массив, состоящий из данного массива, соединённого с другими массивами и/или значениями

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp