加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何从Rails中的哈希列表中删除嵌套键

发布时间:2020-12-16 23:19:10 所属栏目:百科 来源:网络整理
导读:我现在正在尝试删除哈希列表的嵌套哈希键几个小时. 我看到很多解决方案非嵌套哈希,如下所示: sample_hash = {"key1" = "value1","key2" = "value2"} sample_hash.except("key1") 这导致: {"key2"="value2"} 但是如果我尝试在带有嵌套键的哈希上使用except
我现在正在尝试删除哈希列表的嵌套哈希键几个小时.
我看到很多解决方案非嵌套哈希,如下所示:
sample_hash = {"key1" => "value1","key2" => "value2"}
   sample_hash.except("key1")

这导致:

{"key2"=>"value2"}

但是如果我尝试在带有嵌套键的哈希上使用except方法,那么它就不起作用了.
这是我的代码:

nested_hash = {"key1"=>"value1","key2"=>{
                                           "nested_key1"=>"nestedvalue1","nested_key2"=>"nestedvalue2"
                                           }
                }

  nested_hash.except("nested_key2")

except()方法返回nested_hash而不做任何更改.我已经找到了一个解决方案,我可以将嵌套的哈希键传递给except方法,但找不到任何东西.是否可以将嵌套键传递给此方法,还是应该使用其他方法从哈希列表中删除嵌套哈希键?

解决方法

关于什么
Hash[nested_hash.map {|k,v| [k,(v.respond_to?(:except)?v.except("nested_key2"):v)] }]

=> {"key1"=>"value1","key2"=>{"nested_key1"=>"nestedvalue1"}}

啊.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读