我可以遍历数组数组并将其与整数数组进行比较

时间:2016-08-18 11:12:54

标签: arrays ruby

我有一组数组[[1,2,3],[4,5,6],[7,8,9]]。我还有一个整数数组[3,4,5,6,8]

我是否可以检查我的整数是否与数组数组中的完整数组匹配?

所以我在int数组中有4,5,6,它匹配中间数组[4,5,6]

4 个答案:

答案 0 :(得分:2)

这应该有效

a = [[1,2,3],[4,5,6],[7,8,9]]
integers = [3,4,5,6,8]

a.any? { |sub_array| sub_array.all? { |item| integers.include? item } }

答案 1 :(得分:1)

试试这个:

array_1 = [[1,2,3],[4,5,6],[7,8,9]]
array_2 = [3,4,5,6,8]

array_1.any? { |e| (e - array_2).empty? }
# => true 

答案 2 :(得分:0)

array1 = [[1,2,3],[4,5,6],[7,8,9]]
array2 = [4,5,6]

result = array1.map{|inner_array| inner_array - array2}
# => [[1, 2, 3], [], [7, 8, 9]]

result.any?{|inner_array| inner_array.empty?}
# => true

答案 3 :(得分:0)

假设您期望truefalse并且订单无关紧要,则以下情况有效:

require 'set'

a1 = [[1,2,3],[4,5,6],[7,8,9]]
a2 = [3,4,5,6,8]

a1.any? { |item| item.to_set.subset? a2.to_set } #=> true

假设您希望index进入a1nil

a1.index { |item| item.to_set.subset? a2.to_set }

假设您想要子集本身或nil

index = a1.index { |item| item.to_set.subset? a2.to_set }
index && a1[index]
相关问题