arrays - 从数组的数组中获取共同的元素

标签 arrays ruby

假设我有一个这样的数组:

[
  [1, 2, 3, 4],
  [3, 4, 5, 6],
  [4, 5, 6, 8]
]

我需要获得它们之间的共同元素。我怎样才能做到这一点?

结果应该是

 common_elements([[1, 2, 3, 4], [3, 4, 5, 6], [4, 5, 6, 8]]) # => [4]

最佳答案

[[1, 2, 3, 4], [3, 4, 5, 6], [4, 5, 6, 8]].reduce(:&) # => [4]

Array#&方法给你设置交集:

[1, 2, 3] & [2, 3, 4] # => [2, 3]

Enumerable#reduce方法可以使用操作组合给定数组中的值:

[1, 2, 3].reduce(:+) # => 6

关于arrays - 从数组的数组中获取共同的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32924443/

相关文章:

Ruby 通过键对多维数组进行排序

javascript - 创建具有重复整数的随机 javaScript 数组后 - 避免并排使用相同的整数

php - 需要以某种不同的方式获取索引为零处的数组

php - 如何在 php 中组合数组,以便第二个数组覆盖第一个?

javascript - 3 变量序列和

html - 单选按钮不显示数据库信息,并且在选择另一个单选按钮时也不会禁用

java - 数组列表到对象[][]

ruby - 更改参数[ :link] before @link. 保存

ruby-on-rails - 复杂的选择集,Rails 方式?

ruby - 解析日期如 1240915075