如何迭代两个数组并删除匹配的值

时间:2016-04-28 19:58:51

标签: ruby-on-rails arrays ruby

我正在尝试在Ruby on Rails程序中迭代两个数组,并使用不应排除的对象创建一个新数组。

这是我需要迭代的对象数组:

[#<Result id: 1437, network_host_test_id: 1320, issue_id: 50231, created_at: "2016-04-14 19:30:22", updated_at: "2016-04-27 18:08:00", deleted_at: nil>,
 #<Result id: 1438, network_host_test_id: 1320, issue_id: 47573, created_at: "2016-04-14 19:30:22", updated_at: "2016-04-14 19:30:22", deleted_at: nil>,
 #<Result id: 1439, network_host_test_id: 1320, issue_id: 39758, created_at: "2016-04-14 19:30:22", updated_at: "2016-04-14 19:30:22", deleted_at: nil>,
 #<Result id: 1441, network_host_test_id: 1320, issue_id: 47574, created_at: "2016-04-14 19:30:22", updated_at: "2016-04-14 19:30:22", deleted_at: nil>,
 #<Result id: 1442, network_host_test_id: 1320, issue_id: 50442, created_at: "2016-04-14 19:30:22", updated_at: "2016-04-14 19:30:22", deleted_at: nil>,
 #<Result id: 1443, network_host_test_id: 1320, issue_id: 40991, created_at: "2016-04-14 19:30:22", updated_at: "2016-04-14 19:30:22", deleted_at: nil>,
 #<Result id: 1444, network_host_test_id: 1320, issue_id: 43896, created_at: "2016-04-14 19:30:22", updated_at: "2016-04-14 19:30:22", deleted_at: nil>]

我的排除数组是:

[#<DeferredIssue id: 1, defer_reason: "Test for issue", defer_name: "JF", issue_id: 50231, created_at: "2016-04-28 17:50:37", updated_at: "2016-04-28 17:50:37", network_host_id: 76>,
 #<DeferredIssue id: 2, defer_reason: "Defer a 10", defer_name: "Travis", issue_id: 43896, created_at: "2016-04-28 17:51:25", updated_at: "2016-04-28 17:51:25", network_host_id: 76>]

最后,我的数组不应包含issue_id 5023143896的对象。

我最初使用exclude?对此进行了测试,但我的排除数组仅为[50231, 43896]。现在它们是对象,这种迭代不起作用。

做这种事情的Ruby方法是什么?

1 个答案:

答案 0 :(得分:4)

您可以将数组转换为 @Bean public JasperReportsViewResolver getJasperReportsViewResolver() { JasperReportsViewResolver resolver = new JasperReportsViewResolver(); resolver.setPrefix("classpath:/static/jasper/"); resolver.setSuffix(".jrxml"); resolver.setReportDataKey("datasource"); resolver.setViewNames("rpt_*"); resolver.setViewClass(JasperReportsMultiFormatView.class); resolver.setOrder(0); return resolver; } @Bean public ClassLoaderTemplateResolver templateResolver() { ClassLoaderTemplateResolver result = new ClassLoaderTemplateResolver(); result.setPrefix("templates/"); result.setSuffix(".html"); result.setTemplateMode("HTML5"); result.setCacheable(properties.isCache()); result.setOrder(1); return result; } 数组issue_ids

map