coding for food
[Ruby] exercise _ Map By Name
silveryen
2022. 8. 6. 04:36
Write a method map_by_name that takes in an array of hashes and returns a new array containing the names of each hash.
def map_by_name(arr)
end
pets = [
{"type"=>"dog", "name"=>"Rolo"},
{"type"=>"cat", "name"=>"Sunny"},
{"type"=>"rat", "name"=>"Saki"},
{"type"=>"dog", "name"=>"Finn"},
{"type"=>"cat", "name"=>"Buffy"}
]
print map_by_name(pets) #=> ["Rolo", "Sunny", "Saki", "Finn", "Buffy"]
puts
countries = [
{"name"=>"Japan", "continent"=>"Asia"},
{"name"=>"Hungary", "continent"=>"Europe"},
{"name"=>"Kenya", "continent"=>"Africa"},
]
print map_by_name(countries) #=> ["Japan", "Hungary", "Kenya"]
puts
my code
def map_by_name(arr)
new_arr = []
arr.map do |hash|
hash.each do |key, value|
if key == "name"
new_arr << hash[key]
end
end
end
return new_arr
end
solution
def map_by_name(arr)
return arr.map { |hash| hash["name"] }
end