TypeScript - Mảng
Việc sử dụng các biến để lưu trữ các giá trị gây ra những hạn chế sau:
Các biến có bản chất vô hướng. Nói cách khác, một khai báo biến chỉ có thể chứa một biến duy nhất tại một thời điểm. Điều này có nghĩa là để lưu trữ n giá trị trong một chương trình, cần khai báo n biến. Do đó, việc sử dụng các biến là không khả thi khi người ta cần lưu trữ một bộ sưu tập giá trị lớn hơn.
Các biến trong chương trình được cấp phát bộ nhớ theo thứ tự ngẫu nhiên, do đó gây khó khăn cho việc truy xuất / đọc các giá trị theo thứ tự khai báo của chúng.
TypeScript giới thiệu khái niệm về các mảng để giải quyết giống nhau. Mảng là một tập hợp các giá trị đồng nhất. Để đơn giản hóa, mảng là một tập hợp các giá trị của cùng một kiểu dữ liệu. Nó là một kiểu người dùng xác định.
Các tính năng của một mảng
Đây là danh sách các tính năng của một mảng:
Khai báo mảng cấp phát các khối bộ nhớ tuần tự.
Mảng là tĩnh. Điều này có nghĩa là một mảng sau khi được khởi tạo sẽ không thể thay đổi kích thước.
Mỗi khối bộ nhớ đại diện cho một phần tử mảng.
Các phần tử của mảng được xác định bởi một số nguyên duy nhất được gọi là chỉ số / chỉ số con của phần tử.
Giống như các biến, mảng cũng vậy, nên được khai báo trước khi chúng được sử dụng. Sử dụng từ khóa var để khai báo một mảng.
Khởi tạo mảng đề cập đến việc điền các phần tử của mảng.
Các giá trị phần tử mảng có thể được cập nhật hoặc sửa đổi nhưng không thể bị xóa.
Khai báo và Khởi tạo Mảng
Để khai báo một mảng khởi tạo trong Typecript, hãy sử dụng cú pháp sau:
Cú pháp
var array_name[:datatype]; //declaration
array_name = [val1,val2,valn..] //initialization
Một khai báo mảng không có kiểu dữ liệu được coi là kiểu bất kỳ. Kiểu của một mảng như vậy được suy ra từ kiểu dữ liệu của phần tử đầu tiên của mảng trong quá trình khởi tạo.
Ví dụ, một khai báo như - var numlist:number[] = [2,4,6,8] sẽ tạo một mảng như dưới đây:
Con trỏ mảng tham chiếu đến phần tử đầu tiên theo mặc định.
Arrays may be declared and initialized in a single statement. Cú pháp tương tự là -
var array_name[:data type] = [val1,val2…valn]
Note - Cặp dấu [] được gọi là số chiều của mảng.
Truy cập các phần tử mảng
Tên mảng theo sau chỉ số con được sử dụng để chỉ một phần tử mảng. Cú pháp của nó như sau:
array_name[subscript] = value
Ví dụ: Mảng đơn giản
var alphas:string[];
alphas = ["1","2","3","4"]
console.log(alphas[0]);
console.log(alphas[1]);
Khi biên dịch, nó sẽ tạo ra mã JavaScript sau:
//Generated by typescript 1.8.10
var alphas;
alphas = ["1", "2", "3", "4"];
console.log(alphas[0]);
console.log(alphas[1]);
Đầu ra của đoạn mã trên như sau:
1
2
Ví dụ: Khai báo và khởi tạo câu lệnh đơn
var nums:number[] = [1,2,3,3]
console.log(nums[0]);
console.log(nums[1]);
console.log(nums[2]);
console.log(nums[3]);
Khi biên dịch, nó sẽ tạo ra mã JavaScript sau:
//Generated by typescript 1.8.10
var nums = [1, 2, 3, 3];
console.log(nums[0]);
console.log(nums[1]);
console.log(nums[2]);
console.log(nums[3]);
Đầu ra của nó như sau:
1
2
3
3
Đối tượng mảng
Một mảng cũng có thể được tạo bằng cách sử dụng đối tượng Array. Phương thức khởi tạo Array có thể được truyền.
Một giá trị số đại diện cho kích thước của mảng hoặc
Danh sách các giá trị được phân tách bằng dấu phẩy.
Ví dụ sau đây cho thấy cách tạo một mảng bằng phương pháp này.
Thí dụ
var arr_names:number[] = new Array(4)
for(var i = 0;i<arr_names.length;i++) {
arr_names[i] = i * 2
console.log(arr_names[i])
}
Khi biên dịch, nó sẽ tạo mã JavaScript sau.
//Generated by typescript 1.8.10
var arr_names = new Array(4);
for (var i = 0; i < arr_names.length; i++) {
arr_names[i] = i * 2;
console.log(arr_names[i]);
}
Đầu ra của nó như sau:
0
2
4
6
Ví dụ: Array Constructor chấp nhận các giá trị được phân tách bằng dấu phẩy
var names:string[] = new Array("Mary","Tom","Jack","Jill")
for(var i = 0;i<names.length;i++) {
console.log(names[i])
}
Khi biên dịch, nó sẽ tạo ra mã JavaScript sau:
//Generated by typescript 1.8.10
var names = new Array("Mary", "Tom", "Jack", "Jill");
for (var i = 0; i < names.length; i++) {
console.log(names[i]);
}
Đầu ra của nó như sau:
Mary
Tom
Jack
Jill
Phương thức mảng
Dưới đây là danh sách các phương thức của đối tượng Array cùng với mô tả của chúng.
Không. | Phương pháp & Mô tả |
---|---|
1. | concat () Trả về một mảng mới bao gồm mảng này được kết hợp với (các) mảng và / hoặc (các) giá trị khác. |
2. | mỗi() Trả về true nếu mọi phần tử trong mảng này thỏa mãn hàm kiểm tra được cung cấp. |
3. | bộ lọc () Tạo một mảng mới với tất cả các phần tử của mảng này mà hàm lọc đã cung cấp trả về true. |
4. | cho mỗi() Gọi một hàm cho mỗi phần tử trong mảng. |
5. | Chỉ số() Trả về chỉ số đầu tiên (ít nhất) của một phần tử trong mảng bằng giá trị đã chỉ định hoặc -1 nếu không tìm thấy. |
6. | tham gia() Nối tất cả các phần tử của một mảng thành một chuỗi. |
7. | lastIndexOf () Trả về chỉ số cuối cùng (lớn nhất) của một phần tử trong mảng bằng giá trị đã chỉ định hoặc -1 nếu không tìm thấy. |
số 8. | bản đồ() Tạo một mảng mới với kết quả của việc gọi một hàm được cung cấp trên mọi phần tử trong mảng này. |
9. | pop () Loại bỏ phần tử cuối cùng khỏi một mảng và trả về phần tử đó. |
10. | đẩy() Thêm một hoặc nhiều phần tử vào cuối mảng và trả về độ dài mới của mảng. |
11. | giảm() Áp dụng một hàm đồng thời chống lại hai giá trị của mảng (từ trái sang phải) để giảm nó xuống một giá trị duy nhất. |
12. | ReduceRight () Áp dụng một hàm đồng thời chống lại hai giá trị của mảng (từ phải sang trái) để giảm nó xuống một giá trị duy nhất. |
13. | đảo ngược() Đảo ngược thứ tự của các phần tử của một mảng - đầu tiên trở thành cuối cùng và cuối cùng trở thành đầu tiên. |
14. | shift () Loại bỏ phần tử đầu tiên khỏi một mảng và trả về phần tử đó. |
15. | lát () Trích xuất một phần của mảng và trả về một mảng mới. |
16. | một số() Trả về true nếu ít nhất một phần tử trong mảng này đáp ứng chức năng kiểm tra được cung cấp. |
17. | sắp xếp () Sắp xếp các phần tử của một mảng. |
18. | mối nối () Thêm và / hoặc xóa các phần tử khỏi một mảng. |
19. | toString () Trả về một chuỗi đại diện cho mảng và các phần tử của nó. |
20. | unshift () Thêm một hoặc nhiều phần tử vào phía trước của một mảng và trả về độ dài mới của mảng. |
Cấu trúc mảng
Đề cập đến việc phá vỡ cấu trúc của một thực thể. TypeScript hỗ trợ cấu trúc lại khi được sử dụng trong ngữ cảnh của một mảng.
Thí dụ
var arr:number[] = [12,13]
var[x,y] = arr
console.log(x)
console.log(y)
Khi biên dịch, nó sẽ tạo mã JavaScript sau.
//Generated by typescript 1.8.10
var arr = [12, 13];
var x = arr[0], y = arr[1];
console.log(x);
console.log(y);
Đầu ra của nó như sau:
12
13
Traversal mảng sử dụng for… in loop
Người ta có thể sử dụng for…in vòng lặp để xem qua một mảng.
var j:any;
var nums:number[] = [1001,1002,1003,1004]
for(j in nums) {
console.log(nums[j])
}
Vòng lặp thực hiện duyệt mảng dựa trên chỉ mục.
Khi biên dịch, nó sẽ tạo mã JavaScript sau.
//Generated by typescript 1.8.10
var j;
var nums = [1001, 1002, 1003, 1004];
for (j in nums) {
console.log(nums[j]);
}
Đầu ra của đoạn mã trên được đưa ra dưới đây:
1001
1002
1003
1004
Mảng trong TypeScript
TypeScript hỗ trợ các khái niệm sau trong mảng:
Không. | Khái niệm & Mô tả |
---|---|
1. | Mảng đa chiều TypeScript hỗ trợ mảng đa chiều. Dạng đơn giản nhất của mảng nhiều chiều là mảng hai chiều. |
2. | Truyền mảng cho các hàm Bạn có thể chuyển cho hàm một con trỏ tới một mảng bằng cách chỉ định tên của mảng mà không có chỉ mục. |
3. | Trả về mảng từ các hàm Cho phép một hàm trả về một mảng |