这是我在作业中遇到的问题。
- 数组A有两个元素:数组B和数组C。
- 数组B有两个元素:数组D和数组E
- 在某些时候,数组 X 只包含两个元素:字符串 a 和字符串 b。
我不知道如何确定数组 A 的深度。例如:
arrA = [
[
[1,2]
]
]
我测试了:A[0][0][0] == nil
,它返回 false
。此外,A[0][0]..[0] == nil
总是返回 false
。所以,我无法通过这种方式知道数组 A 的深度。
最佳答案
如果这不是您要找的,它应该是一个很好的起点:
def depth (a)
return 0 unless a.is_a?(Array)
return 1 + depth(a[0])
end
> depth(arrA)
=> 3
请注意,这仅测量第一个分支的深度。
关于Ruby:如何知道多维数组的深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10862197/