gpt4 book ai didi

ruby - 计算 Ruby 中二维数组中是否出现超过 1 次

转载 作者:太空宇宙 更新时间:2023-11-03 17:41:41 25 4
gpt4 key购买 nike

我有一个排序数组:

array = [[4, 13], [1, 12], [3, 8], [2, 8], [0, 3]]

它显示了一个位置 (array[n][0]) 和该位置的出现次数 (array[n][1])。

我需要测试数组中是否有多个项目与最后一项出现的次数相同。

我想我可以用这个来做:

array.detect {|i| i[1] == array.last[1] }.length

但它为上面的数组返回 2,并且似乎也为以下数组返回 2:

array = [[4, 13], [1, 12], [3, 8], [2, 3], [0, 3]]

当我在没有长度的情况下运行它时,它总是返回第一个出现的地方。

有没有办法让它计算出现次数?

编辑:

抱歉,将在新问题中提出我的跟进问题。

最佳答案

尝试使用 find_all 而不是 detectdetect 返回第一个匹配项。在您的第一个示例中,它是 array[3],这是另一个长度为 2 的数组。这就是它返回 2 的原因(对于您的数组,它应该始终返回 2 或 nil)。 find_all 将返回一个匹配项数组(而不是第一个匹配项本身),其长度将是您想要的值。

关于ruby - 计算 Ruby 中二维数组中是否出现超过 1 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1605959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com