【问题标题】:How to iterate through array of arrays on Rails template?如何遍历 Rails 模板上的数组数组?
【发布时间】:2017-06-04 19:04:37
【问题描述】:

我有一个如下形式的数组:

[["First", ["a", "b", "c"]], ["Second", ["d", "e"]], ["Third", ["g", "h", "i"]]]

有没有办法使用迭代器以某种方式在 Rails 模板上显示这些信息?我需要这样的东西:

第一 - a, b, c

第二 - d, e,

第三 - g、h、i。

或者这是不可能的,我应该修改初始数组形式?

提前致谢。

【问题讨论】:

  • 你试过了吗?
  • @Iceman 就是这样,我不知道如何执行。

标签: ruby-on-rails templates ruby-on-rails-4 view


【解决方案1】:

在不修改主数组的情况下,您可以尝试在each 中使用each_with_index 作为主数组数组,然后检查第一个值,您可以跳过它并获取字母数组:

array = [["First", ["a", "b", "c"]], ["Second", ["d", "e"]], ["Third", ["g", "h", "i"]]]

array.each do |main|
  main.each_with_index do |value, index|
    next if index.zero?
    p value 
  end
end
# => ["a", "b", "c"]
#    ["d", "e"]
#    ["g", "h", "i"]

或者如果你想以哈希的形式访问它会更容易:

array = [["First", ["a", "b", "c"]], ["Second", ["d", "e"]], ["Third", ["g", "h", "i"]]]
array.to_h.each do |_, value|
  p value
end
# => ["a", "b", "c"]
#    ["d", "e"]
#    ["g", "h", "i"]

【讨论】:

  • 不客气,我认为迭代为哈希会更好(:
猜你喜欢
  • 2015-03-16
  • 2020-01-12
  • 1970-01-01
  • 2017-03-03
  • 2012-07-06
  • 2011-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多