2017-06-04 1 views
0

Ich habe ein Array in der folgenden Form bekommt: mit IteratorenWie durch Array von Arrays auf Rails-Vorlage zu durchlaufen?

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

Gibt es eine Möglichkeit irgendwie auf einer Rails-Vorlage diese Informationen angezeigt werden? Ich brauche etwas wie folgt aus:

Erste - a, b, c

Zweite - d, e,

Dritte - g, h, i.

Oder das ist unmöglich, und ich sollte die ursprüngliche Array-Form ändern?

Vielen Dank im Voraus.

+0

Haben Sie es versucht? – Iceman

+0

@Iceman Das ist der Fall, ich habe keine Ahnung, wie man das ausführt. –

Antwort

1

, ohne das Haupt Array modifing könnten Sie mit each_with_index innerhalb each für die Haupt Array von Arrays versuchen, dann für den ersten Wert Überprüfung können Sie es überspringen und die Anordnung der Buchstaben erhalten:

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"] 

Oder wenn Sie will es als hash es einfacher sein:

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"] 
+0

Gern geschehen, ich denke, es wäre besser, als Hash zu iterieren (: –

Verwandte Themen