ruby - 在 Ruby 中删除数组中的 nil 和空白字符串

标签 ruby arrays

我是 Ruby 新手,遇到了这个问题。假设我有一个这样的数组:

arr = [1, 2, 's', nil, '', 'd']

我想从中删除 nil 和空白字符串,即最终数组应该是:

arr = [1, 2, 's', 'd']

我试过 compact 但它给出了这个:

arr.compact!
arr #=> [1, 2, 's', '', 'd'] doesn't remove empty string.

我想知道在 Ruby 中是否有一种聪明的方法可以做到这一点。

最佳答案

你可以这样做:

arr.reject { |e| e.to_s.empty? } #=> [1, 2, "s", "d"]

注意 nil.to_s => ''

关于ruby - 在 Ruby 中删除数组中的 nil 和空白字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26114332/

相关文章:

ios - 多维数组展开可选值

c# - 数组内存不足异常

java - 如何检查 2D 字符数组中的行中的特定元素,然后计算该行中有多少个该元素? ( java )

javascript - 如何在数组循环中访问原型(prototype)函数

ruby-on-rails - 如何使用 parse-ruby-client gem 结束 session

arrays - 如何在 Julia 0.6 中转置字符串向量(以便绘制多个图例)?

c - 为什么没有分配 RARRAY_LEN?

ruby-on-rails - 简单的正则表达式检查在 Rails 模型中失败

ruby - data_mapper、attr_accessor 和序列化 仅序列化属性而不序列化 attr_accessor 属性

ruby-on-rails - Rails 仅在更改特定字段值时更新验证