如何迭代数组数组

时间:2009-08-18 21:49:54

标签: ruby-on-rails ruby

迭代数组数组的最佳方法是什么?

sounds = [ [Name_1, link_1], [Name_2, link_2], [Name_3, link_3], [Name_4, link_4] ]

我想要HTML ul / li结构中的输出:

<ul>
   <li>Name_1, link_1</li>
   <li>Name_2, link_2</li>
   <li>Name_3, link_3</li>
   <li>Name_4, link_4</li>
</ul>

3 个答案:

答案 0 :(得分:38)

假设所有内部数组都具有固定大小,您可以使用自动解包来在迭代外部数组时将内部数组的每个项放在其自己的变量中。例如:

sounds.each do |name, link|
  # do something
end

答案 1 :(得分:3)

在视图中:

<ul>
  <% sounds.each do |sound| %>
    <li> <%=h sound.join ', ' %></li>
  <% end %>
</ul>

答案 2 :(得分:1)

使用嵌套循环。外部迭代声音,而内部声音迭代声音中的当前元素。

当然,在该特定示例中,直接引用内部数组的元素可能是最简单的。这样,您可以打印<li>$inner[0], $inner[1]</li>(请注意,我从未使用过Ruby,因此我不知道数组是如何编入索引的,更不用说打印语法了。)