javascript - 多维数组包含4个项目,但长度表示:0

时间:2017-06-02 13:07:26

标签: javascript arrays

我今天创建了一个多维数组,在第一个数组中创建了4个新数组。当我在console.log中我的数组时,它说有0个项目,但我确实看到我的4个数组各有其他项目。请参阅下面的console.log以获得更清晰的图像:

enter image description here

{{1}}

任何帮助将不胜感激。干杯!

2 个答案:

答案 0 :(得分:2)

因为你没有索引。 groups[groupName] = new Array();无法向您的数组中添加项目,因为您的所有groupName变量都不是数字。因此你有一个像数组对象的东西。

如果您的groupName是0,1,2和3,当您console.log对象时,您将获得最后一个数字+ 1(在这种情况下为4)。

在这里,您可以使用密钥访问阵列 - 因此在这种情况下vm.allGroupsInClassifications['Confidential']将返回您的阵列。

但是由于你没有实际的数字索引,你的对象数组的长度是0。

希望你理解

答案 1 :(得分:0)

这是因为您的阵列不正确。你有一个带键的数组:

[
    "Algemeen" : [...],
    "Confidential" : [...]
]

这是不正确的,因为数组不能有密钥。 Javascript是Javascript,它允许你定义它,但是当你要求它的长度时,它很难回答并说0。它应该是一个对象:

{
    "Algemeen" : [...],
    "Confidential" : [...]
}

如果你真的想保留一个数组数组,请删除键:

 [ [...],[...] ]

现在长度为2。