ruby-on-rails - 用斜杠将 Ruby 数组拆分为子数组

标签 ruby-on-rails ruby arrays

我有一个数组:

a = [[676, "/"], [679, "/", 680, "/"], [4, "3.7", "111.55", "/"], [668, "/"], [681, "/", 682, "/"]]

想要这样的输出:

a = [[676], [679], [680], [4, "3.7", "111.55"], [668], [681], [682]]

尝试过这样的事情:

a.flatten.join(",").split("/")

它给出了这样的东西:

["676,", ",679,", ",680,", ",4,3.7,111.55,", ",668,", ",681,", ",682,"]

最佳答案

这是你需要的:

a.flatten.chunk { |x| x != '/' }.select(&:first).map(&:last)  
#=> [[676], [679], [680], [4, "3.7", "111.55"], [668], [681], [682]]

或者:

a.flatten.chunk { |x| x != '/' }.map { |bool, arr| arr if bool }.compact

关于ruby-on-rails - 用斜杠将 Ruby 数组拆分为子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11895939/

相关文章:

php - 将 MongoId 对象数组转换为字符串数组

ruby-on-rails - Backbone.js 的表单构建器插件?

ruby-on-rails - Rails 无法识别从 Ruby 脚本发布的参数

ruby - block 看不到方法( Chef 资源)

mysql - 关联模型 ruby​​ on rails 上的一个数据库查询

ruby-on-rails - 尝试在 Cucumber 功能中使用 "Examples"部分时解析问题

php - 计算数组中相等的相邻值

python - NumPy 中的 ndarray 和数组有什么区别?

mysql - 使用重音字符进行搜索

mysql - 连接到 Rails 中单独的 mysql 数据库