Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

3 cách làm rỗng mảng trong JavaScript

Khi cần xóa toàn bộ phần tử của mảng, có 3 cách phổ biến — khác nhau ở việc có ảnh hưởng đến các biến tham chiếu cùng trỏ đến mảng đó hay không.

Cách 1: Gán mảng mới arr = []

Tạo mảng rỗng mới, biến cũ trỏ đến mảng mới. Biến tham chiếu cũ vẫn giữ mảng gốc.

let arr1 = [1,2,3,4,5];
let arr2 = arr1; // Tham chiếu cùng mảng
arr1 = []; // arr1 giờ trỏ mảng mới
console.log(arr2); // [1,2,3,4,5] — KHÔNG thay đổi

Cách 2: Đặt length = 0 arr.length = 0

Làm rỗng mảng gốc tại chỗ. Tất cả tham chiếu đều thấy mảng rỗng.

let arr1 = [1,2,3,4,5];
let arr2 = arr1;
arr1.length = 0;
console.log(arr2); // [] — ĐÃ thay đổi

Cách 3: splice(0, length) arr.splice(0, arr.length)

Xóa tất cả phần tử từ đầu. Tương tự cách 2 — cập nhật tất cả tham chiếu.

let arr1 = [1,2,3,4,5];
let arr2 = arr1;
arr1.splice(0, arr1.length);
console.log(arr2); // [] — ĐÃ thay đổi

Bảng so sánh

CáchCú phápẢnh hưởng tham chiếu khácHiệu suấtKhuyến nghị
Gán mớiarr = []KhôngNhanh nhấtKhông có biến tham chiếu khác
Length = 0arr.length = 0CóNhanhCần đồng bộ tất cả ref
Splicearr.splice(0, arr.length)CóChậm hơn (trả về mảng xóa)Cần mảng phần tử bị xóa

Lưu ý quan trọng

  • Nếu mảng được khai báo const, không thể gán mới (arr = [] lỗi) → phải dùng length = 0 hoặc splice.
  • splice trả về mảng các phần tử đã xóa — tốn bộ nhớ nếu mảng lớn.