Javascript - Chrome 控制台 - “Array(0)”是什么意思?

si2*_*030 7 javascript arrays google-chrome

我正在使用 Console.log 来识别函数的数组值。在检查控制台时,我看到许多地方存在 Array(0):

在此输入图像描述

特别是,我创建了一个键值对数组(请参见上图底部的“x”和“testedElements”(同一对象)。)

当我将“x”展开时,“Array(0)”位于数组元素的顶部......我不确定“Array(0)”是什么意思......它是否表示该元素是一个数组? 在此输入图像描述

我实际上试图在控制台图片顶部重新创建“完整菜单”的结构,但我在testedElements/x 的中间显示了“Array(0)”...

Waz*_*ner 2

这就是 Chrome 在控制台的值摘要中显示 0 长度数组的方式。由于 JavaScript 的性质,空数组仍然可以包含字段。

var obj = {};
obj.array = [];
obj.array.myField = 1;
console.log(obj);
Run Code Online (Sandbox Code Playgroud)

这将在控制台中记录以下内容:

> {array: Array(0)}
Run Code Online (Sandbox Code Playgroud)

当我扩展它时:

{array: Array(0)}
  array: Array(0)
    myField: 1
    length: 0
    __proto__: Array(0)
  __proto__: Object
Run Code Online (Sandbox Code Playgroud)

这表明命名字段不是数组中的项目。

如果您想要一个关联数组(具有命名索引的数组),您应该使用纯 JavaScript 对象。

var obj = {};
obj.A = 10;
Run Code Online (Sandbox Code Playgroud)

  • 有时你必须问最基本的问题,所以给我打-4有点违背了问答论坛学习的目的。这个答案有效。我们中的一些人正处于陡峭的学习曲线上,无论好坏。顺便说一句,这个答案很有帮助。我将初始化从“elementWithNav = Array()”更改为“elementWithNav = {} as any”,这解决了我的问题。谢谢瓦兹纳/米盖尔。 (2认同)