Ruby通过多维数组搜索

Som*_*con 3 ruby arrays search multidimensional-array

学习Ruby代码之美,我想知道在多维数组中是否有简单/直接的搜索.我有一个包含4个索引的多数组,其中包含各种数字.我想搜索每个索引匹配内容的另一个数组... seudo codez

multi_array = [ [1,3,7], [3,1,4], [1,3,4], [0,9,2]]
numbers_looking_to_match = [1,5,9]
multi_array.each do | elmt |
  elmt.each_with_index do |elmt, idx|
    if elmt == numbers_looking_to_match.each { |e| puts "match" }
  end 
end
Run Code Online (Sandbox Code Playgroud)

我希望这返回一个新的多数组,其中删除了原始多数组的所有非匹配字符.

小智 6

使用Array#&的交集,

multi_array.map {|a| a & numbers_looking_to_match }
Run Code Online (Sandbox Code Playgroud)