我今天创建了一个多维数组,在第一个数组中创建了4个新数组。当我在console.log中我的数组时,它说有0个项目,但我确实看到我的4个数组各有其他项目。请参阅下面的console.log以获得更清晰的图像:
{{1}}
任何帮助将不胜感激。干杯!
答案 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。