Метод splice () JavaScript Array возвращает массив, изменяя (добавляя / удаляя) его элементы на месте.
Синтаксис splice()
метода:
arr.splice(start, deleteCount, item1,… , itemN)
Здесь arr - это массив.
splice () Параметры
splice()
Метод принимает в:
- start - индекс, с которого изменяется массив.
- deleteCount (необязательно) - количество элементов, из которых нужно удалить
start
. - item1,…, itemN (необязательно) - элементы, добавляемые в
start
индекс. Если не указано,splice()
удаляются только элементы из массива.
Возвращаемое значение из splice ()
- Возвращает массив, содержащий удаленные элементы.
Примечание . splice()
Метод изменяет исходный массив.
Пример 1: Использование метода splice ()
let languages = ("JavaScript", "Python", "Java", "Lua"); // replacing "Java" & "Lua" with "C" & "C++" let removed = languages.splice(2, 2, "C", "C++"); console.log(removed); // ( 'Java', 'Lua' ) console.log(languages); // ( 'JavaScript', 'Python', 'C', 'C++' ) // adding elements without deleting existing elements let removed1 = languages.splice(1, 0, "Java", "Lua"); console.log(removed1); // () console.log(languages); // ( 'JavaScript', 'Java', 'Lua', 'Python', 'C', 'C++' ) // removing 3 elements let removed2 = languages.splice(2, 3); console.log(removed2); // ( 'Lua', 'Python', 'C' ) console.log(languages); // ( 'JavaScript', 'Java', 'C++' )
Вывод
('Java', 'Lua') ('JavaScript', 'Python', 'C', 'C ++') () ('JavaScript', 'Java', 'Lua', 'Python', 'C', ' C ++ ') (' Lua ',' Python ',' C ') (' JavaScript ',' Java ',' C ++ ')
Пример 2: Использование splice () для разных значений deleteCount
- Если start> array.length ,
splice()
ничего не удаляет и начинает добавлять аргументы в конец массива. - Если start <0 , индекс отсчитывается в обратном порядке ( array.length + start ). Например, -1 - последний элемент.
- Если array.length + start <0 , он будет начинаться с индекса 0 .
let languages = ("JavaScript", "Python", "Java", "Lua"); // does not removes, only appends to the end let removed = languages.splice(5, 2, "C++"); console.log(removed); // () console.log(languages); // ("JavaScript", "Python", "Java", "Lua", "C++") // remove last element and add 3 more elements let removed1 = languages.splice(-1, 1, "Swift", "Scala", "Go"); console.log(removed1); // ( "C++" ) console.log(languages); // ("JavaScript", "Python", "Java", "Lua", "Swift", "Scala", "Go")
Вывод
() («JavaScript», «Python», «Java», «Lua», «C ++») («C ++») («JavaScript», «Python», «Java», «Lua», «Swift», « Scala »,« Go »)
Пример 3: Использование splice () для разных начальных значений
- Если deleteCount опущен или превышает количество элементов, оставшихся в массиве, он удаляет все элементы от начала до конца массива.
- Если deleteCount равно 0 или отрицательно , элементы не удаляются. Но должен быть указан хотя бы один новый элемент.
let languages = ("JavaScript", "Python", "Java", "Lua"); // removes everything from start let removed = languages.splice(1); console.log(removed); // ( "Python", "Java", "Lua" ) console.log(languages); // ( "JavaScript" ) // remove none & add 3 more element let removed1 = languages.splice(1, -2, "Swift", "Scala", "Go"); console.log(removed1); // ( ) console.log(languages); // ( "JavaScript", "Swift", "Scala", "Go" )
Вывод
(«Python», «Java», «Lua») («JavaScript») () («JavaScript», «Swift», «Scala», «Go»)
Рекомендуемая литература:
- JavaScript Array.pop ()
- JavaScript Array.push ()