知道每个内部数组的最后一个元素

时间:2013-09-13 13:09:46

标签: ruby-on-rails ruby-on-rails-3

我有一个字符串数组,我希望在我的视图中显示所有元素分隔“,”。 当我执行这个数组的每一个时,如何知道当前元素是否是最后一个?

这样的东西?

- categoryName.each do |name|
  - if (name.last) -- the last elemnt of array
    = name
  - else
    = name + ", "

任何想法!

4 个答案:

答案 0 :(得分:6)

尝试使用Array.join

= categoryName.join(', ')

答案 1 :(得分:3)

您只需调用categoryName.join(', ')即可将数组中的所有名称与指定的字符串相连接。如果数组中只有一个值并且只返回单个名称,它什么都不做。

答案 2 :(得分:1)

您可以使用Enumerable#each_with_index

- categoryName.each_with_index do |name, i|
  - if (i == categoryName.length - 1) -- the last elemnt of array
    = name
  - else
    = name + ", "

答案 3 :(得分:0)

如果您使用的是Rails,可以试试这个。

categoryName.to_sentence

它会自动执行你想要的操作。