rails – 查找多个数组之间的交集

我试图find多个数组之间的交集值。

例如

code1 = [1,2,3] code2 = [2,3,4] code3 = [0,2,6] 

所以结果是2

我知道在PHP中,你可以用array_intersect做到这一点

我想能够轻松地添加额外的数组,所以我真的不想使用多个循环

有任何想法吗 ?

谢谢,Alex

使用用于设定交集的数组的&方法。

例如:

 > [1,2,3] & [2,3,4] & [0,2,6] => [2] 

如果你需要一个更简单的方法来处理未知长度的数组,你可以使用inject。

 > arrays = [code1,code2,code3] > arrays.inject(:&) # Ruby 1.9 shorthand => [2] > arrays.inject{|codes,x| codes & x } # Full syntax works with 1.8 and 1.9 => [2]