如何检查一个数组的值是否包含一个或多个特定的值?

23

我想知道一个数组中是否包含一个或多个特定的值。例如,如下所示:

[1,2,3,4,5,6].include?([4,1])  # => true
[4,1,6,2].include?([4,1])  # => true
[3,4,7].include?([4,1])  # => false
当然,"include?"方法只能检查一个值。是否有一种方法可以检查多个值?

你在这里使用了哪个Ruby版本? 我每次都得到false。 irb(main):006:0> [1,2,3,4,5,6].include?([4,1]) => false irb(main):007:0> [4,1,6,2].include?([4,1]) => false irb(main):008:0> [3,4,7].include?([4,1]) - Dhanu Gurung
12个回答

0

这将检查数组中是否存在元素:

students = ["jim", "bob", "sally"]
teachers = ["mrs. jones", "mrs. sharpe", "mrs. ray"]

puts "what's your name ?"
answer = gets.chomp

if answer.include?(students.to_s)
  puts "you are a student"

elsif
  puts "you are a teacher"

end

0

如果要检查数组值是否包含单个或多个元素,可以将数组转换为“set”,然后可以使用以下方法:“subset?”。

    require "set"
    a = [1,2,3,4,5,6]
    b = [3,6]
    b.to_set.subset?a.to_set //true
    b= [3,7]
    b.to_set.subset?a.to_set //false

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接