在 JavaScript 關聯陣列中動態建立鍵
在這篇文章中,我們將討論如何在 JavaScript 關聯陣列中動態建立鍵。
關聯陣列是根據需要由使用者定義的動態物件。當您為陣列型別變數中的鍵分配值時,該陣列將轉換為物件,並且會失去陣列的屬性和方法。即長度屬性無效,因為變數不再是陣列型別。
JavaScript 關聯陣列與任何其他字面量相同。您可以使用方括號表示法向其新增鍵,如果鍵是字串,則可以動態地向這些物件新增鍵。
我們將演示所有這些,並瞭解如何向物件新增一個鍵方法,以便在它變成關聯陣列時擁有它包含的專案數量。
動態建立關聯陣列
我們可以透過簡單地將字面量分配給變數來建立動態關聯陣列。以下是執行此操作的語法:
var name_of_the_array = {"key1": value1, "key2": value2, "key3": value3};
示例 1
在以下示例中,我們嘗試建立一個數組。我們需要在陣列中使用方括號,但是由於這些是關聯陣列,因此我們使用花括號而不是方括號。我們可以使用鍵訪問關聯陣列的內容。
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
<script>
var array = {"one": 1, "two": 2, "three": 3};
var val = array["two"];
document.write(JSON.stringify(array),"<br>");
document.write(JSON.stringify(val));
</script>
</body>
</html>
示例 2
以下是另一個建立關聯陣列的示例:
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
<script>
let a = {
name: 'Ayush'
};
let key = 'age';
// Add the non existing key
a[key] = 35;
document.write(JSON.stringify(a));
</script>
</body>
</html>
使用物件方法
關聯陣列也是一個物件。因此,我們可以藉助物件方法建立它,然後分配鍵和值。
示例 1
在以下示例中,我們演示瞭如何透過object()方法建立關聯陣列。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Creation of associative array</title>
</head>
<body>
<script>
var array = new Object(); //this is method of object creation.
array["Aman"] = 22;
array["Akash"] = 23;
array["Rahul"] = 24;
var i = 0;
for (i in array) {
document.write(i + "=" + array[i] + "<br>");
}
</script>
</body>
</html>
示例 2
讓我們使用物件的點方法重寫上述示例。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Creation of associative array</title>
</head>
<body>
<script>
var array = new Object(); //this is method of object creation.
array.Aman = 22;
array.Akash = 23;
array.Rahul = 24;
var i = 0;
for (i in array) {
document.write(i + "=" + array[i] + "<br>");
}
</script>
</body>
</html>
使用for…in迴圈
由於關聯陣列類似於物件,因此我們無法使用for迴圈。相反,我們可以使用for…in迴圈,就像遍歷物件元素一樣。
與普通陣列不同,關聯陣列沒有任何方法可以獲取物件的長度。因此,為此目的,我們需要顯式建立使用者定義的方法。
示例
在以下示例中,我們正在計算關聯陣列的大小
<!DOCTYPE html>
<html lang="en">
<head>
<title>Creation of associative array</title>
</head>
<body>
<script>
var array = new Object(); //this is method of object creation.
array.Aman = 22;
array.Akash = 23;
array.Rahul = 24;
var count = 0;
for (var key in array) {
if (array.hasOwnProperty(key)) {
count++;
}
}
document.write("Size of an Associative array: " + count);
</script>
</body>
</html>
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP