"b",3=>"c",4=>"d"} 和一个数组,比如说: arr=[2,3] 我必须找到一个结果哈希,例如: hash2={2="b",3=>-6ren">
gpt4 book ai didi

ruby - 如果数组中存在键,如何从另一个哈希中获取哈希

转载 作者:数据小太阳 更新时间:2023-10-29 08:14:57 26 4
gpt4 key购买 nike

我有一个哈希,说:

hash1 ={1=>"a",2=>"b",3=>"c",4=>"d"}

和一个数组,比如说:

arr=[2,3]

我必须找到一个结果哈希,例如:

hash2={2="b",3=>"c"}

也就是说,生成的散列必须仅包含其键存在于给定数组中的那些键值对。是否可以在没有循环的情况下执行此操作?

最佳答案

以下将执行您想要的操作,但会破坏原始的 hash1

hash2 = hash1.keep_if {|k,v| arr.include? k}

以下将执行您想要的操作,但保持 hash1 原来的样子。

hash2 = hash1.select {|k,v| arr.include? k}

关于ruby - 如果数组中存在键,如何从另一个哈希中获取哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17692219/

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