Splice trong javascript
Làm cách nào để xóa một phần tử khỏi mảng?
Các mảng là các đối tượng, vì vậy chúng ta có thể thử sử dụng delete
Phần tử đã bị loại bỏ, nhưng mảng vẫn còn 3 phần tử, chúng ta có thể thấy điều đó arr.length == 3
.
Điều đó là tự nhiên, bởi vì delete obj.key
loại bỏ một giá trị bởi key
. Đó là tất cả những gì nó làm. Tốt cho các đối tượng. Nhưng đối với mảng, chúng ta thường muốn các phần tử còn lại dịch chuyển và chiếm vị trí được giải phóng. Chúng tôi hy vọng sẽ có một mảng ngắn hơn bây giờ.
Vì vậy, nên sử dụng các phương pháp đặc biệt.
Phương thức arr.splice có thể làm mọi thứ: chèn, loại bỏ và thay thế các phần tử.
Cú pháp là:
Nó sửa đổi arr
bắt đầu từ chỉ mục start
: loại bỏ deleteCount
các phần tử và sau đó chèn elem1, ..., elemN
vào vị trí của chúng. Trả về mảng các phần tử bị loại bỏ.
Phương pháp này rất dễ nắm bắt bằng các ví dụ.
Hãy bắt đầu với việc xóa:
Dễ dàng, phải không? Bắt đầu từ chỉ mục 1
nó đã loại bỏ 1
phần tử.
Trong ví dụ tiếp theo, chúng tôi loại bỏ 3 phần tử và thay thế chúng bằng hai phần tử còn lại:
Ở đây chúng ta có thể thấy rằng splice
trả về mảng các phần tử đã bị loại bỏ:
Phương splice
thức này cũng có thể chèn các phần tử mà không bị xóa. Đối với điều đó, chúng tôi cần đặt deleteCount
thành 0
: