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