Javascript tips: Cắt ngắn một mảng sử dụng length
Nếu bạn muốn thay đổi tổng số phần tử thì có thể sử dụng thuộc tính length
của mảng. Thuộc tính lengh chứa thông tin tổng số phần tử của mảng nên khi bạn thay đổi giá trị của length
tức là bạn đã thay đổi tổng số phần tử của mảng.
Chúng ta có ba trường hợp, thứ nhất là tăng phần tử, thứ hai là giảm phần tử và thứ ba là thiết lập phần tử rỗng.
Trường hợp giảm phần tử
Trường hợp này thì phần tử giảm sẽ được xóa từ cuối mảng đi tới đầu mảng cho tới khi tổng các phần tử vừa đủ.
var score = ["21", "321", "312", "432", "54", "676", "54654"]; console.log(score.length); // Kết quả: 7 console.log(score); // Kết quả: ["21", "321", "312", "432", "54", "676", "54654"] score.length = 5; console.log(score.length); // Kết quả: 5 console.log(score); // Kết quả: ["21", "321", "312", "432", "54"]
Trường hợp tăng phần tử
Trường hợp này thì các phần tử tăng sẽ có giá trị là undefined.
Bài viết này được đăng tại [free tuts .net]
var score = ["21", "321", "312", "432", "54", "676", "54654"]; console.log(score.length); // Kết quả: 7 console.log(score); // Kết quả: ["21", "321", "312", "432", "54", "676", "54654"] score.length = 9; console.log(score.length); // Kết quả: 5 console.log(score); // Kết quả: ["21", "321", "312", "432", "54", "676", "54654", Undefined x 2]
Chúng ta ít khi thay đổi thuộc tính length này, tuy nhiên đôi khi bạn muốn thay đổi chiều dài của mảng thì có thể sử dụng.
Trường phần thiết lập mảng rỗng
Từ hai ví dụ trên ta rút ra được một kinh nghiệm như sau: Nếu muốn chuyển mảng thành một mảng rỗng thì chỉ cần thiết lập length = 0
.
var domain = ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"]; domain.length = 0; console.log(domain); // Kết quả: []
Hoặc bạn có thể gán giá trị rỗng cho mảng là được.
var domain = ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"]; domain = []; console.log(domain); // Kết quả: []