Trong blog này, chúng ta sẽ tìm hiểu mảng kết hợp là gì, nó khác với mảng bình thường như thế nào và cách tính độ dài của nó cũng như truy xuất tất cả các phần tử
Mục lục
- Một mảng kết hợp là gì?
- Cú pháp & ví dụ
- Độ dài của một mảng kết hợp
- Truy xuất các phần tử của một mảng kết hợp
- Nó khác với một mảng bình thường như thế nào?
Một mảng kết hợp là gì?
Mảng kết hợp về cơ bản là các đối tượng trong JavaScript nơi các chỉ mục được thay thế bằng các khóa do người dùng xác định. Chúng không có thuộc tính độ dài như một mảng bình thường và không thể duyệt qua bằng cách sử dụng vòng lặp for thông thường. Tham khảo thêm về vòng lặp qua một mảng kết hợp trong blog này
Cú pháp và ví dụ
var arr = {key1:'value1', key2:'value2'}
Ở đây, arr, là một mảng kết hợp với key1, key2 là các khóa hoặc chỉ mục chuỗi của nó và value1 & value 2 là các phần tử của nó
var arr = { "Company Name": ‘Flexiple’, "ID": 123};
Độ dài của một mảng kết hợp
Bây giờ chúng ta đã biết cách khai báo một mảng kết hợp, hãy xem cách chúng ta có thể tính độ dài của nó
Vì chúng ta sẽ không thể sử dụng thuộc tính độ dài của đối tượng Array nữa, trước tiên chúng ta hãy định nghĩa một phương thức trả về kích thước của mảng trước khi chúng ta sử dụng nó
Object.size = function[arr] {
var size = 0;
for [var key in arr] {
if [arr.hasOwnProperty[key]] size++;
}
return size;
};
Tham khảo bài viết này để biết thêm về hasonwnproperty
Bây giờ chúng ta đã định nghĩa phương thức kích thước, hãy sử dụng nó
var len = Object.size[x];
document.write["Length=" + len];
//Output: Length = 2
Sử dụng phương pháp phím
Phương thức keys trả về một mảng gồm tất cả các thuộc tính, vì vậy sử dụng phương thức này, chúng ta có thể áp dụng thuộc tính độ dài của Array
//Using the previous arr array
document.write["Length=" + Object.keys[arr].length
//Output: Length = 2
Truy xuất các phần tử
Để truy xuất tất cả các phần tử của một mảng kết hợp, không thể sử dụng một vòng lặp đơn giản như trong trường hợp của một mảng bình thường vì các phần tử không thể truy cập được bằng một chỉ số. Đây là cách chúng ta có thể làm thay thế
var arr = {
"Company Name": 'Flexiple',
"ID": 123
};
for [var key in arr] {
var value = arr[key];
document.write[key + " = " + value + '
'];
}
//Output:
Company Name = Flexiple
ID = 123
Sử dụng phương pháp phím
Chúng ta có thể chuyển đổi một mảng kết hợp, tức là một đối tượng, thành một mảng đơn giản. Với phương thức trả về danh sách khóa và phương thức bản đồ [ECMAScript 1. 6], chúng tôi cũng thu được các giá trị
Để truy cập một mảng kết hợp theo chỉ số nguyên trong PHP, mã như sau−
Thí dụ
Bản thử trực tiếp
"150", "q"=>"100", "r"=>"120", "s"=>"110"]; $keys = array_keys[ $arr ]; echo "Array key and value...
"; for[$x = 0; $x < sizeof[$arr]; $x++ ] { echo "key: ". $keys[$x] . ", value: ". $arr[$keys[$x]] . "
"; } ?>
đầu ra
Điều này sẽ tạo ra đầu ra sau−
Array key and value... key: p, value: 150 key: q, value: 100 key: r, value: 120 key: s, value: 110
Thí dụ
Bây giờ chúng ta hãy xem một ví dụ khác−
Bản thử trực tiếp
đầu ra
Điều này sẽ tạo ra đầu ra sau−
Array key and value.. key: p, value: 150 key: q, value: 100 key: r, value: 120 key: s, value: 110 Updated Array key and value... key: p, value: 150 key: q, value: 100 key: r, value: 20 key: s, value: 10
Kiểu dữ liệu mảng kết hợp được sử dụng để biểu diễn các mảng kết hợp. Nó có nhiều tính năng góp phần vào tiện ích của nó
Kiểu dữ liệu mảng kết hợp hỗ trợ các thuộc tính mảng kết hợp sau
- Không có cardinality được xác định trước được chỉ định cho các mảng kết hợp. Điều này cho phép bạn tiếp tục thêm các phần tử vào mảng mà không cần quan tâm đến kích thước tối đa, điều này rất hữu ích nếu bạn không biết trước có bao nhiêu phần tử sẽ tạo thành một tập hợp
- Giá trị chỉ số mảng có thể là kiểu dữ liệu không phải số nguyên. VARCHAR và INTEGER là các giá trị chỉ mục được hỗ trợ cho chỉ mục mảng kết hợp
- Các giá trị chỉ mục không nhất thiết phải liền kề nhau. Trái ngược với một mảng thông thường được lập chỉ mục theo vị trí, một mảng kết hợp là một mảng được lập chỉ mục bởi các giá trị của kiểu dữ liệu khác và không nhất thiết phải có các phần tử chỉ mục cho tất cả các giá trị chỉ mục có thể có giữa mức thấp nhất và cao nhất. Điều này hữu ích nếu bạn muốn tạo một bộ lưu trữ tên và số điện thoại chẳng hạn. Các cặp dữ liệu có thể được thêm vào tập hợp theo bất kỳ thứ tự nào và được sắp xếp bằng cách sử dụng mục dữ liệu nào trong cặp được xác định làm chỉ mục
- Các phần tử trong một mảng kết hợp được sắp xếp theo thứ tự tăng dần của các giá trị chỉ mục. Thứ tự chèn của các phần tử không quan trọng
- Dữ liệu mảng kết hợp có thể được truy cập và thiết lập bằng cách sử dụng các tham chiếu trực tiếp hoặc bằng cách sử dụng một tập hợp các hàm vô hướng có sẵn
- Mảng kết hợp được hỗ trợ trong ngữ cảnh SQL PL
- Mảng kết hợp có thể được sử dụng để quản lý và chuyển các tập hợp giá trị cùng loại dưới dạng một tập hợp thay vì phải
- Giảm dữ liệu thành các giá trị vô hướng và sử dụng xử lý từng phần tử một có thể gây ra sự cố lưu lượng mạng
- Sử dụng con trỏ được truyền dưới dạng tham số
- Giảm dữ liệu thành các giá trị vô hướng và khôi phục chúng thành một tập hợp bằng cách sử dụng mệnh đề GIÁ TRỊ