我在json中的数组中有数组。无论如何,我可以列出一个数组的名称。如果存在一个包含5个其他数组的数组,则有一种方法可以列出所有名称5数组,而不是它们的内容,而是它们的名称。有没有办法在javascript中执行此操作
例如
嘿,我得到了你的答案的主旨,但我只想澄清一下。我有以下json,{
"array1":[ {
"array2":[ {
"array3":[ ] } ],
"array21:[ {
}]
}
]
}
我想知道,首先我列出array1中的所有数组,然后列出array2中的所有数组,然后列出array3中的所有数组。就像我列出array1中的所有数组一样,我应该得到结果array2和array2,依此类推。这可能吗?根据你的回答,数组无法命名,因此不可能只是澄清
答案 0 :(得分:0)
您误解了数据类型的使用。 Array是一种匿名类型,您没有命名它的元素。如果您想知道数组的名称,则必须将此结构更改为字典(map)。
var arrayMapping = {
'arr1': [...],
'arr2': [...]
};
但通过这样做,请记住每个数组都有唯一的名称。然后,您可以像这样访问您的数组:
arrayMapping['array1']
但是如果由于某种原因您无法更改此数据结构,则需要创建一个帮助对象,您可以将名称映射到arrayIndex。但这会增加代码复杂性,并且需要包含在带有getter的某种util类中。
如果您的数组包含5个数组,并且您希望按名称访问它们,那么您需要这种结构:
var arrayMapping = {
'arr1': {
'arr1_1': [],
'arr1_2': [],
'arr1_3': [],
'arr1_4': [],
'arr1_5': [],
},
...
};
如果你想要列出arr1 map中所有数组的所有anmes,那么你应该这样做:
Object.keys(arrayMapping['arr1'])// it will list arr1_1,...,arr1_5