Wie kann ich am einfachsten konvertieren?
[x1, x2, x3, ... , xN]
zu
[[x1, 2], [x2, 3], [x3, 4], ... , [xN, N+1]]
Wie kann ich am einfachsten konvertieren?
[x1, x2, x3, ... , xN]
zu
[[x1, 2], [x2, 3], [x3, 4], ... , [xN, N+1]]
Hier sind zwei weitere Optionen für 1.8.6 (oder 1.9) ohne Verwendung von enumerator:
# Fun with functional
arr = ('a'..'g').to_a
arr.zip( (2..(arr.length+2)).to_a )
#=> [["a", 2], ["b", 3], ["c", 4], ["d", 5], ["e", 6], ["f", 7], ["g", 8]]
# The simplest
n = 1
arr.map{ |c| [c, n+=1 ] }
#=> [["a", 2], ["b", 3], ["c", 4], ["d", 5], ["e", 6], ["f", 7], ["g", 8]]
Ich mache das oft:
arr = ["a", "b", "c"]
(0...arr.length).map do |int|
[arr[int], int + 2]
end
#=> [["a", 2], ["b", 3], ["c", 4]]
Anstatt direkt über die Elemente des Arrays zu iterieren, iterieren Sie über einen Bereich von Ganzzahlen und verwenden diese als Indizes, um die Elemente des Arrays abzurufen.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.