通过哈希值(例如id)交叉2个哈希数组

时间:2014-06-13 18:59:22

标签: ruby-on-rails ruby algorithm activerecord

在我的rails应用程序中,我有一个用户模型和linkedin_connection模型。 Linkedin_connection属于用户和用户has_many linkedin_connections。

在user1和user2之间创建交叉连接数组的最佳方法是什么?

==============编辑==============编辑==============编辑== ============

我意识到这是一个与我原先想象的不同的问题。我有2个哈希数组。每个哈希都有一个id元素。如何通过ID显示两个哈希的交集?

实施例

user1.linkedin_connections => [{id: "123xyz", name: "John Doe"}, {id: "789abc", name: "Alexander Supertramp"}]

user2.linkedin_connections => [{id: "456ijk", name: "Darth Vader"}, {id: "123xyz", name: "John Doe"}]

cross_connections => [{id: "123xyz", name: "John Doe"}]

如何计算“cross_connections?”

谢谢!

1 个答案:

答案 0 :(得分:2)

你想要的是两个数组的交集。在ruby中,使用&运算符很容易:

crossover_connections = user1.linkedin_connections.to_a & user2.linkedin_connections.to_a