如何从数组中删除空哈希

use*_*677 1 ruby ruby-on-rails ruby-on-rails-5

如何从数组中删除空哈希?

[{}, {}, :one, :two]
Run Code Online (Sandbox Code Playgroud)

.compact似乎不起作用。

Seb*_*lma 5

如何从数组中删除空哈希?

使用拒绝,通过检查元素是否为哈希且为空({})来拒绝枚举中的元素:

p [{}, {}, :one, :two, [], [], '', nil].reject { |e| e == {} }
# [:one, :two, [], [], "", nil]
Run Code Online (Sandbox Code Playgroud)