Array là một kiểu dữ liệu reference thuộc nhóm mutable object. Về bản chất, array chính là một object có các key là các index:

Create an Array

With Constructor

Sử dụng constructor của lớp Array như sau:

const arr = new Array()
 
console.log(arr) // []

With Square Bracket

Sử dụng toán tử [] như sau:

const arr = []
 
console.log(arr) // []

Tip

Thông thường ta dùng const để khai báo mảng, mục đích là để ta chắc chắn rằng tên biến của mảng sẽ không được khai báo thêm một lần nữa.

Access and Manipulate Elements

Truy cập các phần tử của mảng trong JS thông qua toán tử [] tương tự như C++.

Ví dụ:

const arr = [1, 2, 3]
 
arr[5] = 4

Đoạn code trên gán phần tử thứ 6 (có index là 5) với giá trị 4.

Mảng khi đó sẽ có dạng như sau:

;[1, 2, 3, undefined, undefined, 4]

Như vậy, có thể gán giá trị cho một element nằm ngoài phạm vi của mảng. Khi đó, các phần tử ở các vị trí trống (index 34) sẽ có giá trị là undefined.

Trường hợp truy xuất cũng tương tự, nếu truy xuất đến phần tử ở ngoài mảng thì sẽ nhận giá trị là undefined:

console.log(arr[6]) // undefined

Note

Mảng là đối tượng có thể thay đổi được, tức là ta có thể reassign cho biến mảng tùy thích (nếu khai báo bằng let). Tuy nhiên, các phần tử bên trong mảng có thể có kiểu dữ liệu immutable, việc gán giá trị cho các phần tử này có thể không khả thi.

Nếu ta dùng keyword delete để xóa một phần tử trong mảng thì kích thước mảng vẫn không thay đổi. Lý do là vì bản chất của việc xóa bằng từ khóa delete là nó chỉ replace phần tử cần xóa bằng undefined.

const arr = [1, 2, 3]
 
delete arr[1]
 
console.log(arr.length) // 3
console.log(arr) //  [1, undefined, 3]

Get Array Length

Có thể gọi thuộc tính length để kiểm tra số lượng phần tử của mảng:

const nums = [3.14, 2.7, 11, 02, 2002, 19.9, 171.2]
 
console.log(nums.length) // 7

Different Data Types

Mảng có thể chứa những phần tử khác kiểu dữ liệu. Có thể nói, mảng trong JS giống như list của Python và không giống với mảng của C++.

const arr = ["String", false, { country: "Viet nam", name: "Quân" }, [11, 2, 2002], 3.14]
 
console.log(arr)

Resources