Ruby получает ключи объекта как массив


98

Я новичок в Ruby, если у меня есть такой объект

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

Как я могу вернуть массив только ключей?

["apple", "carrot"]

Ваш объект - это хэш, поэтому вы можете использовать keysтакой метод, как {"apple" => "fruit", "carrot" => "vegetable"}.keys. Для получения дополнительной информации посетите ruby-doc.org/core-1.9.3
таро

Ответы:


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

это так просто


16

Альтернативный способ, если вам нужно что-то еще (помимо использования keysметода):

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

очевидно, вы сделаете это только в том случае, если хотите манипулировать массивом при его извлечении ..



2

Используйте keysметод:{"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.