Javascript tips: Cách xóa phần tử ra khỏi mảng - Bài tập Javascript
Chúng ta có hai cách xóa phần tử của mảng đó là sử dụng lệnh delete và hàm splice của Array, trong hai cách này thì ta nên sử dụng hàm splice để xóa bởi lệnh delete chỉ xóa giá trị thành undefined chứ không xóa phần tử vĩnh viễn, còn hàm splice thì xóa vĩnh viễn. Sử dụng lệnh delete Trong ...
Chúng ta có hai cách xóa phần tử của mảng đó là sử dụng lệnh delete và hàm splice của Array, trong hai cách này thì ta nên sử dụng hàm splice để xóa bởi lệnh delete chỉ xóa giá trị thành undefined chứ không xóa phần tử vĩnh viễn, còn hàm splice thì xóa vĩnh viễn.
Sử dụng lệnh delete
Trong Javascript có lệnh delete dùng để xóa phần tử trong mảng, tuy nhiên lệnh này chỉ xóa giá trị của phần tử cần xóa chứ tổng chiều dài của mảng không thay đổi, vì vậy vị trí xóa đó sẽ có giá trị là Undefined.
// Giá trị ban đầu var domain = ["Zaidap.com.net", "w3schools.com", "php.net", "codeigniter.com"]; console.log(domain.length); // Kết quả: 4 console.log(domain); // Kết quả: ["Zaidap.com.net", "w3schools.com", "php.net", "codeigniter.com"] // Thực hiện xóa delete domain[2]; console.log(domain.length); // Kết quả: 4 console.log(domain); // Kết quả: ["Zaidap.com.net", "w3schools.com", Undefined, "codeigniter.com"];
Vì vậy chúng ta không nên sử dụng cách này nhé.
Sử dụng hàm splice
Đây là cách nên sử dụng bởi nó sẽ xóa phần tử ra khỏi mảng luôn chứ không gán giá trị Undefined như lệnh delete.
// Giá trị ban đầu var domain = ["Zaidap.com.net", "w3schools.com", "php.net", "codeigniter.com"]; console.log(domain.length); // Kết quả: 4 console.log(domain); // Kết quả: ["Zaidap.com.net", "w3schools.com", "php.net", "codeigniter.com"] // Thực hiện xóa domain.splice(2,1);// Xóa bắt đầu từ phần tử thứ 2 với chiều dài là 1 phần tử console.log(domain.length); // Kết quả: 4 console.log(domain); // Kết quả: ["Zaidap.com.net", "w3schools.com", "codeigniter.com"];
Như vậy ta thấy khi sử dụng hàm splice thì phần tử sẽ bị xóa vĩnh viễn khỏi mảng.