Ruby ottiene le chiavi dell'oggetto come array


97

Sono nuovo su Ruby, se ho un oggetto come questo

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

Come posso restituire un array di sole chiavi?

["apple", "carrot"]

Il tuo oggetto è un hash, quindi puoi usare un keysmetodo come {"apple" => "fruit", "carrot" => "vegetable"}.keys. Per maggiori informazioni visita ruby-doc.org/core-1.9.3
taro

Risposte:


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

è così semplice


16

Un modo alternativo se hai bisogno di qualcosa di più (oltre a usare il keysmetodo):

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

ovviamente lo faresti solo se vuoi manipolare l'array mentre lo recuperi ..



2

Usa il keysmetodo:{"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.