Rails - 查找多个数组之间的交集
我正在尝试查找多个数组之间的交集值。
例如
code1 = [1,2,3]
code2 = [2,3,4]
code3 = [0,2,6]
所以结果是 2
我知道在 PHP 中你可以使用 array_intersect 来做到这一点
我希望能够轻松添加额外的数组,所以我真的不想使用多个循环
有什么想法吗?
谢谢,亚历克斯
I am trying to find the intersection values between multiple arrays.
for example
code1 = [1,2,3]
code2 = [2,3,4]
code3 = [0,2,6]
So the result would be 2
I know in PHP you can do this with array_intersect
I wanted to be able to easily add additional array so I don't really want to use multiple loops
Any ideas ?
Thanks, Alex
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 & 方法="http://ruby-doc.org/core/classes/Array.html" rel="noreferrer">Array 用于设置交集。
例如:
Use the & method of Array which is for set intersection.
For example:
如果您想要一种更简单的方法来处理未知长度的数组,可以使用注入。
If you want a simpler way to do this with an array of arrays of unknown length, you can use inject.
Array#intersection (Ruby 2.7+)
Ruby 2.7 引入 Array# intersection 方法来匹配更简洁的 Array# &。
所以,现在,
[1, 2, 3] & [2,3,4] & [0, 2, 6]
可以用更详细的方式重写,例如Array#intersection (Ruby 2.7+)
Ruby 2.7 introduced Array#intersection method to match the more succinct Array#&.
So, now,
[1, 2, 3] & [2, 3, 4] & [0, 2, 6]
can be rewritten in a more verbose way, e.g.