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.keyloạ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 arrbắt đầu từ chỉ mục start: loại bỏ deleteCountcác phần tử và sau đó chèn elem1, ..., elemNvà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 1nó đã loại bỏ 1phầ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 splicetrả về mảng các phần tử đã bị loại bỏ:

Phương splicethứ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 deleteCountthành 0: