●●● Problem ●●● Angenommen, Sie haben das folgende Array user_data.
user_data = [
{
user: {
profile: {
name: 'George'
}
}
},
{
user: {
profile: {
name: 'Alice'
}
}
},
{
user: {
profile: {
name: 'Taro'
}
}
}
]
Extrahieren Sie von hier aus nur den Benutzernamen, sodass die Ausgabe wie folgt aussieht.
George
Alice
Taro
●●● Antwort ●●●
user_data.each do |u|
puts u[:user][:profile][:name]
end
Oder
user_data.each{ |u| puts u.dig(:user, :profile, :name) }
●●● Erklärung ●●●
Zunächst einmal, wie man den Hash abruft.
Hash[Schlüssel des Wertes, den Sie erhalten möchten]
#Beispiel
user = {name:Taro}
user[:name]
#=> "Taro"
Überprüfen der Struktur des Problemarrays user_data
Erstes Element des Arrays
{user:{profile:{name:'George'}}}
Zweites Element des Arrays
{user:{profile:{name:'Alice'}}}
Das dritte Element des Arrays
{user:{profile:{name:'Taro'}}}
Sie können sehen, dass es ist. Jede Methode wird für das Array user_data verwendet, und der Namensschlüssel wird für jedes Element des Arrays extrahiert. Daher lautet die Antwort wie oben.
Recommended Posts