我有一个生成的嵌套数组,我存储了一些数据。
如何获得第3个嵌套数组(在本例中为以“yellow”开头的数组)
数组看起来像这样(这是一个动态生成的数组):
[
["Large",
["yellow", "green", "Blue"],
["$55.00", "$55.00", "$55.00"]
]
["Medium",
["yellow", "green", "Blue", "Red"],
["$55.00", "$55.00", "$55.00", "$55.00"]
]
["small",
["yellow", "green", "Blue", "Red"],
["$55.00", "$55.00", "$55.00", "$55.00"]
]
]
我试图获得[“黄色”,“绿色”,“蓝色”]数组的长度和循环来获取值
for(i=0; colorNSize.dataArray[0][0][1].length<i; i++){
alert(colorNSize.dataArray[colorNSize.Sizeindex][0][0][i])// alert's A (which is the char[1] of the second array.
}
alert(colorNSize.dataArray[0][0][1].length)
实际警告“大”的长度为“5”
嵌套数组有限制吗?
我还能在这里嵌套真正的第三个数组吗?
答案 0 :(得分:2)
您的格式可能有误 - “大”与颜色数组和价格位于同一个数组中吗?缩进告诉它,括号表示它全部嵌套。在一系列价格之后你忘了一个支架吗?
无论如何,[0][0][1]
已经引用了“大”的字符。 [0][0]
为“大”,[0][1]
是另一个数组。
考虑这个简化的例子:
>>> arr = [['large', [[1, 2], [3, 4]]]]
[["large", [[1, 2], [3, 4]]]]
>>> arr[0]
["large", [[1, 2], [3, 4]]]
>>> arr[0][0]
"large"
>>> arr[0][1]
[[1, 2], [3, 4]]
>>> arr[0][1][0]
[1, 2]
你能看到发生了什么吗?
答案 1 :(得分:2)
为什么一切都必须是数组?这种结构对我来说更有意义。
obj = {
"Large": {
"yellow": "$55.00",
"green": "$55.00",
"Blue": "$55.00"
},
"Medium": {
...
...
]
要获得大的黄色价格,我所要做的就是
obj["Large"]["yellow"] //or obj.Large.yellow