哈希删除除特定键之外的所有内容 [英] Hash remove all except specific keys
本文介绍了哈希删除除特定键之外的所有内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从散列中删除除给定键之外的所有键.
I would like to remove every key from a hash except a given key.
例如:
{
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address":
{
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021"
},
"phoneNumber":
[
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}
我想删除除firstName"和/或address"之外的所有内容
I want to remove everything except "firstName" and/or "address"
谢谢
推荐答案
其他一些选项:
h.select {|k,v| ["age", "address"].include?(k) }
或者你可以这样做:
class Hash
def select_keys(*args)
select {|k,v| args.include?(k) }
end
end
所以你现在可以说:
h.select_keys("age", "address")
这篇关于哈希删除除特定键之外的所有内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文