从哈希/ YAML 中删除所有空元素?

163

我该如何从嵌套的哈希或 YAML 文件中删除所有空元素(空列表项)?

22个回答

0
尝试这个来删除 nil。
hash = { a: true, b: false, c: nil }
=> {:a=>true, :b=>false, :c=>nil}
hash.inject({}){|c, (k, v)| c[k] = v unless v.nil?; c}
=> {:a=>true, :b=>false}

或者简单地写成 hash.compact! - courtsimas

-1
  validated_params
    .to_h
    .delete_if {|_,v| !v.present? }

虽然这段代码可能回答了问题,但请考虑添加一些解释说明这段代码如何解决问题。由于这是一个非常老的问题,并且有许多其他答案,您应该解释一下您的解决方案添加/解决了哪些其他答案没有涉及到的问题。 - Henry Woody

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接