Các mảng liên kết & nbsp; là các đối tượng động & nbsp; rằng & nbsp; & nbsp; người dùng & nbsp; định nghĩa lại khi cần thiết. Khi & nbsp; bạn gán & nbsp; giá trị cho & nbsp; khóa & nbsp; trong một biến của & nbsp; loại mảng, mảng & nbsp; được chuyển đổi & nbsp; thành một đối tượng, & nbsp; và nó Thuộc tính độ dài không có hiệu lực vì biến không dài hơn loại mảng.
Chúng tôi sẽ chứng minh tất cả những điều đó và cũng chỉ ra cách thêm một phương thức chính vào một đối tượng để có số lượng vật phẩm mà nó giữ khi nó trở thành một mảng kết hợp.
Một mảng kết hợp được khai báo hoặc tạo động
Chúng ta có thể tạo nó bằng cách gán một nghĩa đen cho một biến.
var arr = { "one": 1, "two": 2, "three": 3 };
Không giống như các mảng đơn giản, chúng tôi sử dụng niềng răng xoăn thay vì dấu ngoặc vuông.
Điều này đã hoàn toàn tạo ra một biến của đối tượng loại.
Nội dung là & nbsp; được truy cập bởi & nbsp; các khóa, bất kể phương thức nào được sử dụng để khai báo mảng.
var y = arr["one"];
Một mảng kết hợp cũng là một đối tượng
Vì vậy, chúng ta có thể tạo một mảng kết hợp với từ dành riêng cho đối tượng, sau đó và gán các khóa và giá trị:
var o = new Object[];
o["one"] = 1;
o["two"] = 2;
o["three"] = 3;
for[var i in o]
{
document.write[i + "=" + o[i] + '
'];
}
Thuộc tính của đối tượng JavaScript cũng là các phím
Điều cụ thể cho các đối tượng trong JavaScript là các thuộc tính cũng là các khóa như chúng ta sẽ thấy trong cuộc biểu tình. Do đó, cùng một mảng có thể được tạo ra đơn giản hơn:
Thus, the same array can be created more simply:
var oa = new Object[];
oa.one = 1;
oa.two = 2;
oa.three = 3;
for[var i in oa]
{
document.write[i + "=" + x[i] + '
'];
}
Nhưng chúng tôi phải sử dụng biểu mẫu chỉ mục nếu chúng tôi sử dụng một biến làm khóa ...
Hãy nhớ lại rằng thuộc tính độ dài không có giá trị.
Một mảng kết hợp được quét trong
Chúng ta không thể sử dụng một vòng lặp đơn giản vì các phần tử không thể truy cập được bởi một chỉ mục [bên cạnh thực tế là chúng ta phải sử dụng một chức năng đặc biệt để xác định vị trí của phần cuối], nhưng đơn giản hơn cho vòng lặp là lý tưởng.
Các khóa được gán cho "khóa" biến và với khóa, chúng tôi truy cập giá trị.
var arr = { "one" : 1, "two" : 2, "three": 3 };
for[var key in arr]
{
var value = arr[key];
document.write[key + " = " + value + '
'];
}
Số hạng mục
Vì chúng ta không còn có thuộc tính độ dài của đối tượng mảng, nên vẫn còn thêm một phương thức để trả về kích thước của danh sách:
Object.size = function[arr]
{
var size = 0;
for [var key in arr]
{
if [arr.hasOwnProperty[key]] size++;
}
return size;
};
Điều này cũng cung cấp số lượng các mặt hàng:
var s = Object.size[x];
document.write["Size=" + s];
Danh sách các thuộc tính
Kể từ phiên bản 1.8.5 của Ecmascript, chúng ta có thể lấy danh sách các thuộc tính của một đối tượng trong một câu lệnh:
Object.keys[arr]
Từ đó, để có được số lượng khóa rất đơn giản:
Object.keys[arr].length
Phương thức các phím trả về một mảng của tất cả các thuộc tính, vì vậy các khóa và chúng ta có thể áp dụng thuộc tính độ dài của mảng.
var a2 = { "a":1, "b":2, "c":3 }
document.write["Size=" + Object.keys[a2].length
Danh sách các giá trị
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 các khóa và phương thức MAP [ECMAScript 1.6], chúng tôi cũng có được các giá trị:
var y = arr["one"];
0Results:
Xem thêm
- Loại mảng trong JavaScript. Mảng đơn giản.
- Quét nội dung của một mảng. Điểm chuẩn của mỗi vòng lặp.
- Cạm bẫy trong mảng. Có một chức năng để sắp xếp các khóa của một mảng kết hợp theo thứ tự bảng chữ cái.
© 2010-2014 XUL.FR
Các mảng liên kết về cơ bản là các đối tượng trong JavaScript trong đó 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 chiều dài như mảng bình thường và không thể đi qua bằng cách sử dụng bình thường cho vòng lặp.
Sau đây là mã cho các mảng kết hợp trong JavaScript -
Thí dụ
& nbsp; bản demo trực tiếp
var y = arr["one"];
1Đầu ra
Mã trên sẽ tạo ra đầu ra sau -
Khi nhấp vào nút ‘Nhấp vào đây -
Cập nhật vào ngày 15 tháng 7 năm 2020 13:45:07
- Câu hỏi và câu trả lời liên quan
- Mảng liên kết trong C ++
- Mảng liên kết trong PHP
- Các mảng liên kết đa chiều trong PHP là gì? Làm thế nào để lấy các giá trị từ họ?
- Bộ nhớ kết hợp là gì?
- Tạo một mảng kết hợp trong JavaScript?
- Chiều dài của một mảng liên kết JavaScript?
- Tạo các khóa tạo động trong mảng kết hợp JavaScript
- Mảng động trong C#là gì?
- Mảng hỗn hợp trong C#là gì?
- Các mảng lởm chởm trong C#là gì?
- Làm thế nào để sử dụng mảng kết hợp/băm trong javascript?
- Tạo một mảng kết hợp trong javaScript với push []?
- Sắp xếp một mảng kết hợp theo thứ tự tăng dần - JavaScript
- Các mảng tham số/tham số trong C#là gì?
- Mảng hai chiều trong C#là gì?