Metoda splice () JavaScript Array vrací pole změnou (přidáním / odebráním) jeho prvků na místě.
Syntaxe splice()
metody je:
arr.splice(start, deleteCount, item1,… , itemN)
Zde je arr pole.
parametry splice ()
splice()
Metoda bere v:
- start - index, ze kterého je pole změněno.
- deleteCount (volitelně) - Počet položek, ze kterých se má odebrat
start
. - item1,…, itemN (volitelné) - prvky, které se mají přidat do
start
indexu. Pokud není zadán,splice()
odstraní pouze prvky z pole.
Vrátit hodnotu z spoje ()
- Vrátí pole obsahující odstraněné prvky.
Poznámka:splice()
metoda změní původní pole.
Příklad 1: Použití metody 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++' )
Výstup
('Java', 'Lua') ('JavaScript', 'Python', 'C', 'C ++') () ('JavaScript', 'Java', 'Lua', 'Python', 'C', ' C ++ ') (' Lua ',' Python ',' C ') (' JavaScript ',' Java ',' C ++ ')
Příklad 2: Použití splice () pro různé hodnoty deleteCount
- Pokud start> array.length ,
splice()
nic neodstraní a začne připojovat argumenty na konec pole. - Pokud start <0 , index se počítá od zpět ( array.length + start ). Například -1 je poslední prvek.
- Pokud pole.length + start <0 , bude to začínat indexem 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")
Výstup
() ("JavaScript", "Python", "Java", "Lua", "C ++") ('C ++') ("JavaScript", "Python", "Java", "Lua", "Swift", " Scala "," Go ")
Příklad 3: Použití splice () pro různé počáteční hodnoty
- Pokud je deleteCount vynechán nebo je větší než počet zbývajících prvků v poli, odstraní všechny prvky od začátku do konce pole.
- Pokud je deleteCount 0 nebo záporné , neodstraní se žádné prvky. Je ale třeba zadat alespoň jeden nový prvek.
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" )
Výstup
("Python", "Java", "Lua") ("JavaScript") () ("JavaScript", "Swift", "Scala", "Go")
Doporučené četby:
- JavaScript Array.pop ()
- JavaScript Array.push ()