检查值是否在ruby中的数组中

时间:2014-12-17 18:30:41

标签: ruby

到目前为止,我有:

ship = arr.include?(1)

但即使我知道数组中有1,它总是显示为false。我有什么问题吗?

1 个答案:

答案 0 :(得分:5)

Array#include?是您正在寻找的方法。

[1,2,3,4,54,5].include?(1)
=> true

如果它返回false,那是因为你要找的项目不在那里。 1您正在寻找数字或字符串吗?

在这种情况下,它将返回false

["1",2,3,4,54,5].include?(1)
=> false

评论中提供的数组不是一维数组,而是二维数组。

您可以展平数组,然后检查是否包含这样的值

[[0, 0, 0], [0, 3, 3],[0, 0, 1]].flatten.include?(1)
=> true

或者像any?一样使用include?

[[0, 0, 0], [0, 3, 3],[0, 0, 1]].any? { |ary| ary.include?(1) }
=> true