06/04/2021, 14:48

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.

Ví dụ
// 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.

Ví dụ
// 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.

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

Cùng chủ đề
0