Học Javascript part 6
Bài đăng này đã không được cập nhật trong 7 năm
Hôm nay mình sẽ đề cập tới việc sử dụng array trong js. Array (Mảng) là 1 tập thứ tự các giá trị. Mỗi giá trị gọi là 1 thành phần con của 1 một mảng và có số thứ tự tương ứng. Mảng trong javascript là thuộc dạng untyped : Một mảng có thể chứa nhiều kiểu giá trị. Các thành con của mảng có thể là object hoặc là số. Mảng trong javascript có tính dynamic: có thể add thêm hoặc bớt phần tử của mảng.
Tạo mảng
Cách đơn giản nhất là tạo mảng với kí tự hoặc số, các phần tử của mảng cách nhau bởi dấu ,
var empty = []; // Mảng rỗng
var primes = [2, 3, 5, 7, 11]; // Mảng 5 phần tử
var misc = [ 1.1, true, "a", ]; // mảng 3 phần tử khác kiểu
Phần tử của mảng cũng có thể là 1 expression:
var base = 1024;
var table = [base, base+1, base+2, base+3];
Bạn cũng có thể bỏ qua giá trị của phần tử khi khởi tạo mảng, khi đó giá trị mặc định của phần tử tại vị trí đó là >undefined
var count = [1,,3]; // Mảng 3 phần tử và phần tử thứ 2 mang giá trị undefined
var undefs = [,,]; // Mảng 2 phần tử giá trị undefined
Bạn có thể tạo mảng qua constructor Array()
- Tạo mảng rỗng:
var a = new Array()
- Tạo mảng có độ dài 10 phần tử:
var a = new Array(10)
- Tạo mảng có sẵn các phần tử:
var a = new Array(1,2,3,5,87)
Đọc và Viết gía trị của mảng
var a = ["world"]; // khởi tạo mảng var value = a[0]; // Đọc phần tử đầu tiên a[1] = 3.14; // Thêm vào mảng 1 phần tử ở vị trí số 2 i = 2; a[i] = 3; // Thêm vào mảng phần tử ở vị trí số 2
Mảng thưa thớt (sparse array)
Thông thường các giá trị của mảng có index liên tiếp nhau, tuy nhiên mảng có thể có index ko liên tiếp nhau khi đó độ dài của mảng ko bằng số phần tử của mảng
a = new Array(5); //mảng 5 phần tử và có length là 5
a = [] ; // mảng có độ dài = 0
a[1000] =0 ; //mảng có 1 phần tử nhưng có length là 1001
Độ dài của mảng ( Array Length)
Độ dài của mảng tuỳ thuộc vào loại mảng
[].length // => 0: mảng ko có phần tử
['a','b','c'].length // => 3: mảng có 3 phần tử
a[1000] =0 ; //mảng có 1 phần tử nhưng có length là 1001
Thêm hoặc xoá phần tử của mảng
Bạn có thể dùng hàm push() hoặc dùng chỉ số index để thêm phần tử cho mảng:
a = []; // mảng rỗng
a.push("zero") // thêm 1 phần tử cho mảng. a = ["zero"]
a.push("one", "two") // thêm 2 phần tử cho mảng
Bạn dùng hàm delete để xó phần tử của mảng:
a = [1,2,3];
delete a[1]; // a giờ ko có phần tử nào ở index = 1
1 in a // => false
a.length // => length = 3
Duyệt phần tử của mảng
var keys = Object.keys(o);
var values = []
for(var i = 0; i < keys.length; i++) {
var key = keys[i];
values[i] = o[key];
}
Cám ơn bạn đã theo dõi !!!
All rights reserved