我有:
array1 = [[0, 0], [2, 1]]
array2 = [[1, 0], [3, 1]]
我认为应该是这样的:
array1[1][0] == [0, 2]
array2[1][0] == [0, 3]
在此之后,为什么会出现以下代码,
[array1[1][0], array2[1][0]].min # => 2
返回2
?
2
如何是二维数组的最小值,其中有三个0
实例和三个1
实例?
我误解了min
函数,还是我误解了使用二维数组时发生了什么?
答案 0 :(得分:3)
当[1][0]
调用第一个数组时,您从中获取第二个数组[2, 1]
,然后从数组2
中获取第一个数字。
array1[1][0] => 2
array2[1][0] => 3
[2, 3].min => 2
答案 1 :(得分:1)
就像:
array1[1][0] == [2, 1][0] == 2
array2[1][0] == [3, 1][0] == 3
[array1[1][0], array2[1][0]].min == [2, 3].min # => 2
根据你的反事实假设:
array1[1][0] == [0, 2]
array2[1][0] == [0, 3]
比较应该是:
[array1[1][0], array2[1][0]].min == [[0, 2], [0, 3]].min # => [0, 2]