Phương thức Array splice () trong JavaScript trả về một mảng bằng cách thay đổi (thêm / bớt) các phần tử của nó tại chỗ.
Cú pháp của splice()
phương thức là:
arr.splice(start, deleteCount, item1,… , itemN)
Ở đây, arr là một mảng.
thông số splice ()
Các splice()
phương pháp có trong:
- start - Chỉ mục từ nơi mảng được thay đổi.
- deleteCount (tùy chọn) - Số mục cần xóa
start
. - item1,…, itemN (tùy chọn) - Các phần tử để thêm vào
start
chỉ mục. Nếu không được chỉ định,splice()
sẽ chỉ xóa các phần tử khỏi mảng.
Giá trị trả về từ splice ()
- Trả về một mảng có chứa các phần tử đã xóa.
Lưu ý: Các splice()
phương pháp làm thay đổi mảng gốc.
Ví dụ 1: Sử dụng phương thức 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++' )
Đầu ra
('Java', 'Lua') ('JavaScript', 'Python', 'C', 'C ++') () ('JavaScript', 'Java', 'Lua', 'Python', 'C', ' C ++ ') (' Lua ',' Python ',' C ') (' JavaScript ',' Java ',' C ++ ')
Ví dụ 2: Sử dụng splice () cho các giá trị deleteCount khác nhau
- Nếu start> array.length ,
splice()
không xóa bất kỳ thứ gì và bắt đầu thêm các đối số vào cuối mảng. - Nếu bắt đầu <0 , chỉ số được tính từ trở lại ( array.length + start ). Ví dụ, -1 là phần tử cuối cùng.
- Nếu array.length + start <0 , nó sẽ bắt đầu từ chỉ mục 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")
Đầu ra
() ("JavaScript", "Python", "Java", "Lua", "C ++") ('C ++') ("JavaScript", "Python", "Java", "Lua", "Swift", " Scala "," Đi ")
Ví dụ 3: Sử dụng splice () cho các giá trị bắt đầu khác nhau
- Nếu deleteCount bị bỏ qua hoặc lớn hơn số phần tử còn lại trong mảng, nó sẽ xóa tất cả các phần tử từ đầu đến cuối của mảng.
- Nếu deleteCount là 0 hoặc âm , không có phần tử nào bị xóa. Tuy nhiên, ít nhất một phần tử mới nên được chỉ định.
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" )
Đầu ra
("Python", "Java", "Lua") ("JavaScript") () ("JavaScript", "Swift", "Scala", "Go")
Bài đọc được đề xuất:
- JavaScript Array.pop ()
- JavaScript Array.push ()