Các phương thức xử lý mảng trong JavaScript

– Trong JavaScript đã tích hợp sẵn các phương thức dùng để xử lý mảng. Với các phương thức này, ta có thể làm được những công việc như: chuyển một mảng về dạng chuỗi, thêm hoặc xóa các phần tử mảng, ghép các mảng lại với nhau, . . . .
– Dưới đây là bảng tóm tắt một vài phương thức xử lý mảng phổ biến mà ta phải thường hay dùng:
Phương thức Mô tả
toString() Chuyển một mảng về dạng chuỗi ký tự.
push() Thêm một phần tử mới vào vị trí cuối mảng.
pop() Xóa phần tử nằm ở vị trí cuối mảng.
unshift() Thêm một phần tử mới vào vị trí đầu mảng.
shift() Xóa phần tử nằm ở vị trí đầu mảng.
concat() Ghép các mảng con lại với nhau rồi trả về một mảng mới.
slice() Trích xuất một phần của mảng ban đầu rồi trả về một mảng mới.
splice() Thêm hoặc xóa “một hoặc nhiều phần tử” ở vị trí bất kỳ trong mảng.
length Trả về số lượng phần tử của mảng.
– Lưu ý: length được gọi là thuộc tính (không phải phương thức)
1) Chuyển mảng về dạng chuỗi ký tự
– Phương thức toString() dùng để chuyển một mảng về dạng chuỗi ký tự.
(chuỗi trả về sẽ là một dãy các phần tử mảng được ngăn cách bởi dấu phẩy)
– Cú pháp:
array.toString()
Ví dụ

Giá trị của biến text sẽ là:

HTC,Nokia,SamSung,LG,Apple

– Ngoài ra, ta cũng có thể dùng phương thức join() để chuyển một mảng về dạng chuỗi ký tự.

– Tuy nhiên, đối với phương thức join() thì ta có thể xác định thêm ký tự đặt giữa các phần tử mảng trong chuỗi trả về.

– Cú pháp:

array.join(chuỗi ký tự ngăn cách giữa các phần tử mảng trong chuỗi trả về)
Ví dụ

Giá trị của biến text sẽ là:

HTC- – -Nokia- – -SamSung- – -LG- – -Apple

2) Thêm một phần tử mới vào vị trí cuối mảng
– Phương thức push() được dùng để thêm một phần tử mới vào vị trí cuối mảng.

– Cú pháp:

array.push(giá trị của phần tử mà bạn muốn thêm vào cuối mảng)
Ví dụ
Thêm phần tử có giá trị là chuỗi Lenovo vào cuối mảng mobile

– Lưu ý: Phương thức push() ngoài việc thêm một phần tử mới vào vị trí cuối mảng thì nó còn trả về tổng số lượng phần tử trong mảng (tính luôn cả phần tử mới vừa được thêm vào)

Ví dụ

3) Xóa phần tử ở vị trí cuối mảng
– Phương thức pop() được dùng để xóa phần tử nằm ở vị trí cuối mảng.

– Cú pháp:

array.pop()
Ví dụ
Xóa phần tử nằm ở vị trí cuối cùng trong mảng mobile

– Lưu ý: Phương thức pop() ngoài việc xóa phần tử nằm ở vị trí cuối mảng thì nó còn trả về giá trị của phần tử bị xóa.

Ví dụ

4) Thêm một phần tử mới vào vị trí đầu mảng
– Phương thức unshift() được dùng để thêm một phần tử mới vào vị trí đầu mảng.

– Cú pháp:

array.unshift(giá trị của phần tử mà bạn muốn thêm vào đầu mảng)
Ví dụ
Thêm phần tử có giá trị là chuỗi Lenovo vào đầu mảng mobile

– Lưu ý: Phương thức unshift() ngoài việc thêm một phần tử mới vào vị trí đầu mảng thì nó còn trả về tổng số lượng phần tử trong mảng (tính luôn cả phần tử mới vừa được thêm vào)

Ví dụ

5) Xóa phần tử ở vị trí đầu mảng
– Phương thức shift() được dùng để xóa phần tử nằm ở vị trí đầu mảng.

– Cú pháp: array.shift()
Ví dụ
Xóa phần tử nằm ở vị trí đầu tiên trong mảng mobile

– Lưuý: Phương thức shift() ngoài việc xóa phần tử nằm ở vị trí đầu mảng thì nó còn trả về giá trị của phần tử bị xóa.

Ví dụ

6) Ghép các mảng lại với nhau
– Phương thức concat() được dùng để ghép các mảng con lại với nhau rồi trả về một mảng mới.

– Cú pháp: var tên mảng = array1.concat(array2, array3, …., arrayN);
– Lưu ý: Mảng được trả về sẽ chứa tất cả các phần tử của những mảng con, thứ tự của các phần tử sẽ giống với thứ tự được sắp xếp lúc ghép mảng.

Ví dụ

Khi này mảng data sẽ là:

Honda,Yamaha,Suzuki,Cần Thơ,Vĩnh Long,Nguyễn Thành Nhân,1993,HTC,Nokia

7) Trích xuất một phần của mảng
– Phương thức slice() được dùng để trích xuất một phần của mảng ban đầu rồi trả về một mảng mới.

– Cú pháp: var tên mảng = array.slice(start, end);
– Trong đó:

“start” là chỉ số của phần tử bắt đầu được trích xuất.
“end” là chỉ số của phần tử kết thúc việc trích xuất (mảng trả về không bao gồm phần tử này)
Ví dụ

– Khi này mảng abc sẽ là:

Nokia,Apple,LG,Honda

– Dưới đây là sơ đồ minh họa cho nguyên lý trích xuất mảng con của ví dụ phía trên:

Phần tử HTC Nokia Apple LG Honda SYM Suzuki
Chỉ số 0 1
(start) 2 3 4 5
(end) 6
– Ngoài ra, nếu ta bỏ trống tham số “end” thì phương thức slice() sẽ trích xuất từ phần tử có chỉ số là “start” cho đến hết mảng ()

Phần tử HTC Nokia Apple LG Honda SYM Suzuki
Chỉ số 0 1
(start) 2 3 4 5 6
– Lưu ý: Giá trị của tham số “start” và “end” cũng có thể là số âm. Tuy nhiên, với số âm thì chỉ số của các phần tử mảng sẽ được xác định theo chiều ngược lại (phần tử đầu tiên sẽ có chỉ số là -1)

Ví dụ

– Khi này mảng abc sẽ là:

Nokia,Apple,LG

– Dưới đây là sơ đồ minh họa cho nguyên lý trích xuất mảng con của ví dụ phía trên:

Phần tử HTC Nokia Apple LG Honda SYM Suzuki
Chỉ số -7 -6
(start) -5 -4 -3
(end) -2 -1
– Ngoài ra, nếu ta bỏ trống tham số “end” thì phương thức slice() sẽ trích xuất từ phần tử có chỉ số là “start” cho đến hết mảng ()

Phần tử HTC Nokia Apple LG Honda SYM Suzuki
Chỉ số -7 -6
(start) -5 -4 -3 -2 -1
8) Thêm & xóa phần tử ở vị trí bất kỳ trong mảng
– Như chúng ta đã biết:

Phương thức push() dùng để thêm một phần tử mới vào vị trí cuối mảng.
Phương thức pop() dùng để xóa phần tử nằm ở vị trí cuối mảng.
Phương thức unshift() dùng để thêm một phần tử mới vào vị trí đầu mảng.
Phương thức shift() dùng để xóa phần tử nằm ở vị trí đầu mảng.
– Tuy nhiên, để thêm hoặc xóa “nhiều phần tử” ở một “vị trí bất kỳ” thì ta phải làm như thế nào !?

==> Phương thức splice() có thể giải quyết được vấn đề này.

– Phương thức splice() dùng để thêm hoặc xóa “một hoặc nhiều phần tử” ở vị trí bất kỳ trong mảng.

8.1) Trường hợp xóa phần tử mảng
– Nếu dùng phương thức splice() để xóa phần tử mảng thì ta sử dụng cú pháp như sau:

array.splice(start, length)
– Trong đó:

Tham số “start” là chỉ số của phần tử bắt đầu được xóa.
Tham số “length” là số lượng phần tử mà bạn muốn xóa.
Ví dụ
Xóa khỏi mảng data bốn phần tử (bắt đầu từ phần tử thứ hai)

– Lưu ý: Nếu ta bỏ trống tham số “length” thì phương thức splice() sẽ xóa tất cả những phần tử bắt đầu từ phần tử có chỉ số là start cho đến hết mảng.

Ví dụ

8.2) Trường hợp thêm phần tử vào mảng
– Nếu dùng phương thức splice() để thêm phần tử mới vào mảng thì ta sử dụng cú pháp như sau:

array.splice(start, 0, phần tử mới 1, phần tử mới 2, phần tử mới 3, ….)
– Trong đó:

Tham số “start” là chỉ số của phần tử nơi mà bạn muốn chèn các phần tử mới ngay tại đó.
Tham số “0” là số không.
Các tham số “phần tử mới” là những phần tử mà bạn muốn thêm vào mảng.
Ví dụ
Chèn bốn phần tử là chuỗi “a”, “b”, “c”, “d” vào mảng mobile (bắt đầu chèn tại phần tử thứ ba)

– Lưu ý: Nếu ta thay giá trị của tham số 0 thành một số khác thì phương thức splice() ngoài việc thêm phần tử mới vào mảng, nó còn xóa đi những phần tử nằm phía sau phần tử có chỉ số là start với số lượng phần tử bị xóa sẽ bằng với giá trị của tham số này.

Ví dụ

9) Xác định số lượng phần tử của mảng
– Thuộc tính length dùng để trả về số lượng phần tử của một mảng.

Ví dụ
Xác định số lượng phần tử của mảng mobile

 

Javascript Cơ bản