ruby - 如何从数组中删除空白元素?

标签 ruby arrays

我有以下数组

cities = ["Kathmandu", "Pokhara", "", "Dharan", "Butwal"]

我想从数组中删除空白元素并想要以下结果:

cities = ["Kathmandu", "Pokhara", "Dharan", "Butwal"]

有没有类似compact 的方法可以不使用循环?

最佳答案

有很多方法可以做到这一点,一种是reject

noEmptyCities = cities.reject { |c| c.empty? }

您还可以使用 reject!,这将修改 cities。如果它拒绝了某些东西,它会返回 cities 作为它的返回值,如果没有拒绝,它会返回 nil。如果你不小心,这可能是一个陷阱(感谢 ninja08 在评论中指出这一点)。

关于ruby - 如何从数组中删除空白元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5878697/

相关文章:

ruby - 如何从 mongodb ruby​​ 驱动程序打印 JSON?

ruby pry whereami 命令不起作用

arrays - 从映射类型的复杂数组中提取值到字符串

arrays - Swift 4 - FlatMap 不会展平数组

ruby - Cocoapods "pod install"卡在 OS X El Capitan 上

ruby - 从远程 svn repo 读取文件内容而不在本地 checkout

ruby-on-rails - 如何在 Ruby 中找到周末的日期?

arrays - 数据在 UItableview 的部分重复

C++结构数组初始化

javascript - Nodejs 中的命令行 stdout 到数组