arrays - 从哈希数组中选择仅包含在另一个数组中的元素
问题描述
我有两个数组:
arr = ["test", "hello", "year"]
arr_hashes = [{"value": "yes", "key":"test"},{"value": "no", "key":"hello"},{"value": "noway", "key":"yessir"},{"value": "never", "key":"year"}]
我想返回:
new_arr = [{"value": "yes", "key":"test"},{"value": "no", "key":"hello"},{"value": "never", "key":"year"}]
我没有什么根本没有过滤:
arr_hashes.select {|x| x['key'].include?(arr)}
解决方案
这只是相反的方式arr.include?(x['key'])
所以
arr_hashes.select { |x| arr.include?(x['key']) }
接收消息的对象include?
,,是一个数组,参数是你想知道它是否包含在数组中的元素
推荐阅读
- c - 创建控制台管道而不是文件管道
- java - 将 Double 与从方法计算的 Double 值相等会导致 0.0?可能是什么问题呢?
- ios - 如何在 Xcode 中使用 CMake 添加 Copy Bundle Resources 阶段?
- c# - asp.net核心项目中的不断错误
- php - PHPMailer 使用 oauth2 gmail SMTP - 如何防止电子邮件进入已发送文件夹?
- powershell - 如果进程冻结,则终止进程
- python - 遍历多个 Pandas 数据帧时删除行
- vb.net - 如何将一个按钮单击生成的变量传递给另一个按钮单击的函数?
- java - 独立消费者(SpringJMS)在 ActiveMQ 上创建了另一个队列
- xamarin.forms - Xamarin 表单和 Mdash 视频