"1", :value=>"A"}, {:id=>"2", :value=>-6ren">
gpt4 book ai didi

arrays - 如果哈希内容不在数组中,则拒绝它们

转载 作者:太空宇宙 更新时间:2023-11-03 17:00:34 25 4
gpt4 key购买 nike

我有这个数组:

array = ["1", "2", "3", "4"]

我有这个哈希数组:

ah = [
{:id=>"1", :value=>"A"},
{:id=>"2", :value=>"B"},
{:id=>"3", :value=>"C"},
{:id=>"4", :value=>"D"},
{:id=>"5", :value=>"E"},
{:id=>"6", :value=>"F"},
{:id=>"7", :value=>"G"},
{:id=>"8", :value=>"H"},
]

我需要拒绝 ah 中 id 不在 array 中的任何哈希。

实现此目标的最佳方法是什么?

最佳答案

您可以使用以下代码选择反向 - 其 id 在 array 中的哈希:

ah.select{|el| array.include?(el[:id])}

如果你更喜欢reject,你可以使用:

ah.reject{|el| !array.include?(el[:id])}

更多信息:Array#reject , Array#select .这些方法创建一个新数组,如果你想就地修改使用 Array#reject!Array#select! .

关于arrays - 如果哈希内容不在数组中,则拒绝它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33348884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com