在 JavaScript 关联数组中动态创建键


在这篇文章中,我们将讨论如何在 JavaScript 关联数组中动态创建键。

关联数组是根据需要由用户定义的动态对象。当您为数组类型变量中的键分配值时,该数组将转换为对象,并且会失去数组的属性和方法。即长度属性无效,因为变量不再是数组类型。

JavaScript 关联数组与任何其他字面量相同。您可以使用方括号表示法向其添加键,如果键是字符串,则可以动态地向这些对象添加键。

我们将演示所有这些,并了解如何向对象添加一个键方法,以便在它变成关联数组时拥有它包含的项目数量。

动态创建关联数组

我们可以通过简单地将字面量分配给变量来创建动态关联数组。以下是执行此操作的语法:

var name_of_the_array = {"key1": value1, "key2": value2, "key3": value3};

示例 1

在以下示例中,我们尝试创建一个数组。我们需要在数组中使用方括号,但是由于这些是关联数组,因此我们使用花括号而不是方括号。我们可以使用键访问关联数组的内容。

Open Compiler
<!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

以下是另一个创建关联数组的示例:

Open Compiler
<!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()方法创建关联数组。

Open Compiler
<!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

让我们使用对象的方法重写上述示例。

Open Compiler
<!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>

Learn JavaScript in-depth with real-world projects through our JavaScript certification course. Enroll and become a certified expert to boost your career.

使用for…in循环

由于关联数组类似于对象,因此我们无法使用for循环。相反,我们可以使用for…in循环,就像遍历对象元素一样。

与普通数组不同,关联数组没有任何方法可以获取对象的长度。因此,为此目的,我们需要显式创建用户定义的方法。

示例

在以下示例中,我们正在计算关联数组的大小

Open Compiler
<!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+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告