在 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>

更新於:2022-12-19

3K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.