Các splice()
phương thức là một phương thức tích hợp sẵn cho các đối tượng Mảng JavaScript. Nó cho phép bạn thay đổi nội dung của mảng bằng cách loại bỏ hoặc thay thế các phần tử hiện có bằng phần tử mới.
Phương thức này sửa đổi mảng ban đầu và trả về các phần tử đã bị xóa dưới dạng một mảng mới.
Trong hướng dẫn này, bạn sẽ học cách loại bỏ, thêm hoặc thay thế các phần tử của một mảng bằng cách sử dụng splice()
phương pháp. Trước tiên hãy bắt đầu với việc loại bỏ các phần tử khỏi một mảng.
Cách xóa phần tử mảng bằng splice()
Ví dụ: giả sử bạn có một mảng có tên months
nhưng bạn có một số tên ngày trong mảng như sau:
let months = ["January", "February", "Monday", "Tuesday"];
Bạn có thể dùng splice()
phương pháp để loại bỏ tên ngày từ months
phương thức và thêm nó vào một mảng mới cùng một lúc:
let months = ["January", "February", "Monday", "Tuesday"];
let days = months.splice(2);
console.log(days); // ["Monday", "Tuesday"]
Các splice()
phương thức cần ít nhất một tham số, đó là start
chỉ mục nơi hoạt động nối bắt đầu. Trong đoạn mã trên, số 2
được truyền cho phương thức, có nghĩa là splice()
sẽ bắt đầu xóa các phần tử khỏi chỉ mục 2
.
Bạn cũng có thể xác định có bao nhiêu phần tử bạn muốn loại bỏ khỏi mảng bằng cách chuyển một giây number
lập luận được gọi là removeCount
. Ví dụ: để xóa chỉ một phần tử, bạn có thể chuyển số 1
như thế này:
let months = ["January", "February", "Monday", "Tuesday"];
let days = months.splice(2, 1);
console.log(days); // ["Monday"]
console.log(months); // ["January", "February", "Tuesday"]
Khi bạn bỏ qua removeCount
tham số, splice()
sẽ loại bỏ tất cả các yếu tố từ start
chỉ mục đến cuối mảng.
Cách xóa và thêm phần tử mảng bằng splice()
Phương pháp này cũng cho phép bạn thêm các phần tử mới ngay sau thao tác xóa. Bạn chỉ cần chuyển các phần tử bạn muốn thêm vào mảng sau khi đếm xóa.
Cú pháp đầy đủ của splice()
phương pháp như sau:
Array.splice(start, removeCount, newItem, newItem, newItem, ...)
Ví dụ sau đây cho thấy cách bạn có thể xóa “Thứ hai” và “Thứ ba” trong khi thêm “Tháng ba” và “Tháng tư” vào months
mảng:
let months = ["January", "February", "Monday", "Tuesday"];
let days = months.splice(2, 2, "March", "April");
console.log(days); // ["Monday", "Tuesday"]
console.log(months); // ["January", "February", "March", "April"]
Cách thêm phần tử mảng mới mà không xóa phần tử nào
Cuối cùng, bạn có thể thêm các phần tử mới mà không xóa bất kỳ phần tử nào bằng cách chuyển số đến
removeCount
tham số. Khi không có phần tử nào bị loại bỏ, phương thức mối nối sẽ trả về một mảng trống. Bạn có thể chọn có lưu trữ mảng trống được trả về vào một biến hay không.
Ví dụ sau đây cho thấy cách bạn có thể thêm một phần tử mới "March"
kế bên "February"
mà không xóa bất kỳ phần tử nào. Kể từ khi splice()
phương thức trả về một mảng trống, bạn không cần lưu trữ mảng được trả về:
let months = ["January", "February", "Monday", "Tuesday"];
months.splice(2, 0, "March");
console.log(months);
// ["January", "February", "March", "Monday", "Tuesday"]
Phần kết luận
Bạn vừa học cách splice()
phương pháp hoạt động. Bạn đã làm rất tốt!
Các splice()
Phương thức này chủ yếu được sử dụng khi bạn cần xóa hoặc thêm các phần tử mới vào một mảng. Trong một số trường hợp, bạn cũng có thể sử dụng nó để tách một mảng có nội dung hỗn hợp như trường hợp trên.
Khi bạn gỡ bỏ các phần tử từ mảng, thì phương thức sẽ chỉ trả về một mảng trống. Bạn luôn được tự do gán mảng trả về cho một biến hoặc bỏ qua nó.
Cảm ơn đã đọc hướng dẫn này
Nếu bạn muốn tìm hiểu thêm về JavaScript, bạn có thể muốn xem trang web của tôi tại sebhastian.com, nơi tôi đã xuất bản hơn 100 hướng dẫn về lập trình với JavaScript.
Các hướng dẫn bao gồm thao tác Chuỗi, thao tác Ngày, phương thức Mảng và Đối tượng, giải pháp thuật toán JavaScript, v.v.
Hãy chắc chắn để kiểm tra nó ra 😉