Ruby erhält Objektschlüssel als Array


97

Ich bin neu bei Ruby, wenn ich ein solches Objekt habe

{"apple" => "fruit", "carrot" => "vegetable"}

Wie kann ich ein Array nur der Schlüssel zurückgeben?

["apple", "carrot"]

Ihr Objekt ist ein Hash, daher können Sie keysMethoden wie verwenden {"apple" => "fruit", "carrot" => "vegetable"}.keys. Für weitere Informationen besuchen Sie ruby-doc.org/core-1.9.3
Taro

Antworten:


217
hash = {"apple" => "fruit", "carrot" => "vegetable"}
array = hash.keys   #=> ["apple", "carrot"]

so einfach ist das


16

Ein alternativer Weg, wenn Sie etwas mehr benötigen (neben der keysMethode):

hash = {"apple" => "fruit", "carrot" => "vegetable"}
array = hash.collect {|key,value| key }

Natürlich würden Sie das nur tun, wenn Sie das Array beim Abrufen manipulieren möchten.



2

Verwenden Sie die keysMethode:{"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.