ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Ruby] exercise _ Map By Name
    coding for food 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
Designed by Tistory.