arrays - 数组的哈希是否包含来自数组的数据
问题描述
我有一个这样的人的 ID 数组:
people_id = [1111, 2222, 3333, 4444, 5555]
以及具有嵌套数组的哈希值,如下所示:
hash = {1234 => [1111], 1235 => [2222, 4444], 1236 => [1111, 1111, 5555, 1236]}
我需要询问每个数组hash
,将其与people_id
数组进行比较。如果任何散列数组包含多个来自 的值people_id
,那么我需要返回键,因此在本例中,我希望返回1235
and 1236
,因为:
1234
为假(只有一个元素 frompeople_id
存在)1235
是真的(2222
并且4444
都存在)1236
是真的(1111
并且5555
都存在)
任何人都可以建议吗?
解决方案
hash.select{|_, v| (v & people_id).length > 1}.keys
# => [1235, 1236]
推荐阅读
- winforms - c# - 如何使用 7z 函数将每个 zip 文件从源文件夹放入目标文件夹
- ruby-on-rails - Rspec 请求规范检查响应正文
- python - 通过更改批量大小和输入图像大小来提高准确性
- javascript - 如何从 Angular 中的 api 响应中获取数据
- javascript - 如何在 Framework7 上居中登录卡?
- r - 在 R 中使用 dplyr 编写一种 for 循环
- http - 什么叫做先doGet或doPost?
- django - 在 Django 中发送带附件的电子邮件
- cron - 如何在 CQRS 中执行批量操作?
- google-cloud-platform - Google Vision OCR 多文本检测