Javascript tips: Cách xóa phần tử ra khỏi mảng

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 = ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"];
console.log(domain.length); // Kết quả: 4
console.log(domain); // Kết quả: ["freetuts.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ả: ["freetuts.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 = ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"];
console.log(domain.length); // Kết quả: 4
console.log(domain); // Kết quả: ["freetuts.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ả: ["freetuts.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.

Nguồn: freetuts.net

KHÓA HỌC ĐANG GIẢM GIÁ

FEDU - 25 – Thiết kế hiệu ứng bằng Javascript và illustrator

(Giảng viên: NGUYỄN ĐỨC VIỆT )

A PHP Error was encountered

Severity: Notice

Message: Undefined index: post_add_user_id

Filename: widgets/tool_all.php

Line Number: 26

Backtrace:

File: /home/freetuts/public_html/site/views/widgets/tool_all.php
Line: 26
Function: _error_handler

File: /home/freetuts/public_html/site/views/tut/detail.php
Line: 131
Function: view

File: /home/freetuts/public_html/site/controllers/Main_controller.php
Line: 20
Function: view

File: /home/freetuts/public_html/site/controllers/tut/Detail.php
Line: 105
Function: assign

File: /home/freetuts/public_html/sources/index.php
Line: 297
Function: require_once

File: /home/freetuts/public_html/index.php
Line: 23
Function: require_once

" title="XEM" target="_blank" rel="nofollow">XEM
FEDU - 22 – Học tất tần tật về Javascript từ đầu

(Giảng viên: Nguyễn Đức Việt)

A PHP Error was encountered

Severity: Notice

Message: Undefined index: post_add_user_id

Filename: widgets/tool_all.php

Line Number: 26

Backtrace:

File: /home/freetuts/public_html/site/views/widgets/tool_all.php
Line: 26
Function: _error_handler

File: /home/freetuts/public_html/site/views/tut/detail.php
Line: 131
Function: view

File: /home/freetuts/public_html/site/controllers/Main_controller.php
Line: 20
Function: view

File: /home/freetuts/public_html/site/controllers/tut/Detail.php
Line: 105
Function: assign

File: /home/freetuts/public_html/sources/index.php
Line: 297
Function: require_once

File: /home/freetuts/public_html/index.php
Line: 23
Function: require_once

" title="XEM" target="_blank" rel="nofollow">XEM
UNICA - Học lập trình JAVASCRIPT

(Giảng viên: )

XEM