Nhiều cách clear/empty array trong JS. Chọn tùy context.
Giả sử: let arr = [1, 'test', {}, 123.43];
1. Gán mảng mới (Nhanh nhất)
arr = [];
Tạo array mới gán cho biến. Perfect nếu không có reference khác trỏ đến array cũ. Nếu có reference khác, chúng vẫn giữ array cũ.
2. Set length = 0
arr.length = 0;
Xóa element bằng set length = 0. Nhanh, nhưng không free memory cho object trong array (cần remove explicit để GC dọn).
3. Splice toàn bộ
arr.splice(0, arr.length);
Xóa tất cả element, thực sự clean original array. Reference khác cũng thấy thay đổi.
So sánh
| Cách | Tốc độ | Ảnh hưởng reference khác | Dọn memory object con |
|---|---|---|---|
arr = [] | Nhanh nhất | Không (ref cũ giữ array cũ) | Có (nếu không ref khác) |
arr.length = 0 | Nhanh | Có | Không (giữ reference trong array) |
arr.splice(0, arr.length) | Trung bình | Có | Có (element bị remove) |
Khuyên dùng: arr = [] cho biến local, arr.length = 0 hoặc splice khi share reference.