在Rails中查找在许多数组中重复的元素

时间:2018-07-25 15:16:52

标签: ruby-on-rails ruby-on-rails-4

在一个数组中比较多个数组时遇到问题。我需要获取每个数组中都存在的元素。看起来像这样:

array= [[11,12,13,14],[55,66,13],[13,15,17,22,34],[4,6,8,13]]

我只需要获取:13-因为它在每个数组上,如何获取?

2 个答案:

答案 0 :(得分:5)

这应该有效

a.inject(:&)

答案 1 :(得分:-1)

您可以使用Nithin在另一个答案中提到的inject

另一种选择是使用reduce

ary = _
 => [
      [11, 12, 13, 14],
      [55, 66, 13],
      [13, 15, 17, 22, 34],
      [4, 6, 8, 13]
    ]

ary.reduce(:&)
 => [13]

# which is a short-hand for:
ary.reduce { |out, elem| out & elem }
 => [13]