从哈希数组中删除哈希?

快取
h = {
    :vehicle => [
        [0] {
            :make => "Honda",
            :year => 2010
        },
        [1] {
            :make => "Kia",
            :year => 2014
        },
        [2] {
            :make => "Saturn",
            :year => 2005
        }
    ]
}

我要删除,{:make=>"Kia", :year=>2014}因此h是:

h = {
    :vehicle => [
        [0] {
            :make => "Honda",
            :year => 2010
        },
        [1] {
            :make => "Saturn",
            :year => 2005
        }
    ]
}

我试过了:

h[:vehicle].delete_if{ |_,v| v == "Kia" } 
 #=> does nothing

h.delete_if{ |_,v| v == "Kia" } 
 #=> does nothing

h[:vehicle].tap { |_,v| v.delete("Kia") } 
 #=> does nothing

h.delete("Kia") 
 #=> nil

h[:vehicle].delete("Kia") 
 #=> nil

这是我头疼的地方:

h[:vehicle].include?("Kia") 
 #=> false 

h[:vehicle][1] 
 #=> {:make=>"Kia", :year=>2014} 

h[:vehicle][1].include?("Kia") 
 #=> false

谢谢您的帮助。

亚历克斯·布拉德
h[:vehicle].delete_if { |h| h[:make] == 'Kia' }

将返回h删除了起亚的副本请注意,尽管这样做有些奇怪,但是您的第一个示例确实对我有用。请记住,您必须查看返回的值才能看到结果-delete_if不会修改原始哈希。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Ruby中的哈希数组中删除哈希

来自分类Dev

Perl,如何删除哈希数组中的哈希?

来自分类Dev

从Ruby中的哈希数组删除哈希

来自分类Dev

Perl,如何删除哈希数组中的哈希?

来自分类Dev

哈希数组中的哈希

来自分类Dev

从数组/哈希中删除仅从该数组/哈希引用的对象

来自分类Dev

使用变量删除哈希数组中的特定哈希

来自分类Dev

哈希数组中的新哈希

来自分类Dev

合并哈希数组中的哈希

来自分类Dev

从哈希数组中删除键/值对

来自分类Dev

从Perl数组中删除重复的哈希

来自分类Dev

在数组中添加和删除哈希

来自分类Dev

Perl按哈希数组或哈希哈希中的哈希值排序

来自分类Dev

从哈希表中删除

来自分类Dev

Ruby中的数组哈希

来自分类Dev

处理数组中的哈希

来自分类Dev

Ruby中的数组哈希

来自分类Dev

将数组中的哈希转换为哈希中的哈希

来自分类Dev

Perl从哈希数组中填充哈希

来自分类Dev

如何合并哈希数组中的哈希

来自分类Dev

如何从哈希数组中获取所需的哈希

来自分类Dev

根据Ruby中的键从数组中删除哈希

来自分类Dev

从js中的两个数组中删除重复的哈希?

来自分类Dev

从Yaml中的Ruby哈希数组中删除元素的最佳方法

来自分类Dev

删除数组的Perl哈希中的空字符串

来自分类Dev

Ruby删除哈希数组中的重复条目,但基于多个值

来自分类Dev

无法从哈希图的数组列表中删除重复的元素

来自分类Dev

红宝石如何从哈希数组中删除元素?

来自分类Dev

删除数组的Perl哈希中的空字符串