Skip to content

Latest commit

 

History

History
248 lines (203 loc) · 4.04 KB

README.md

File metadata and controls

248 lines (203 loc) · 4.04 KB

Ruby Map Practice

ARRAYS

PS: we have STICKERS 🌝❗️

1. Return an array of each Student's full name, upper-cased

students = [
  {
      first_name: 'Abdulmohsin',
      last_name: 'Alsharhan'
  },
  {
      first_name: 'Alya',
      last_name: 'Alrashidi',
  },
  {
      first_name: 'Nahed',
      last_name: 'Hawsawi',
  }
]

upper_case_full_names = []

Answer

ABDULMOHSIN ALSHARHAN
ALYA ALRASHIDI
NAHED HAWSAWI

2. Find the first order for each user

users = [
  {
      name: 'Salem',
      orders: [
          {
              description: 'a bike'
          }
      ]
  },
  {
      name: 'Abdullah',
      orders: [
          {
              description: 'bees'
          },
          {
              description: 'fishing rod'
          }
      ]
  },
  {
      name: 'Rawan',
      orders: [
          {
              description: 'a MacBook'
          },
          {
              description: 'The West Wing DVDs'
          },
          {
              description: 'headphones'
          },
          {
              description: 'a kitten'
          }
      ]
  }
]

first_order_for_each_user = []

Answer

{:description=>"a bike"}
{:description=>"bees"}
{:description=>"a MacBook"}

3. Find the average amount spent on coffee, per transaction, for each person

people = [
  {
      name: 'Sara',
      transactions: [
          {
              type: 'COFFEE',
              amount: 7.43
          },
          {
              type: 'TACOS',
              amount: 14.65
          },
          {
              type: 'COFFEE',
              amount: 4.43
          }
      ]
  },
  {
      name: 'Ahmad',
      transactions: [
          {
              type: 'BIKES',
              amount: 800.00
          },
          {
              type: 'TACOS',
              amount: 14.65
          },
          {
              type: 'COFFEE',
              amount: 4.43
          }
      ]
  },
  {
      name: 'Hala',
      transactions: [
          {
              type: 'COFFEE',
              amount: 7.43
          },
          {
              type: 'COFFEE',
              amount: 100.00
          },
          {
              type: 'COFFEE',
              amount: 4.43
          }
      ]
  }
]


coffee_average_per_person = []

Answer

{:name=>"Sara", :coffee_average=>5.93}
{:name=>"Ahmad", :coffee_average=>4.43}
{:name=>"Hala", :coffee_average=>37.28666666666667}

4. Find the most expensive product for each store, with the store name:

stores = [
  {
      store_name: 'Jarir',
      products: [
          {
              description: 'Titanium',
              price: 9384.33
          },
          {
              description: 'Gold',
              price: 345.54
          }
      ]
  },
  {
      store_name: 'Tamimi',
      products: [
          {
              description: 'Silver',
              price: 654.44
          },
          {
              description: 'Ruby',
              price: 323.43
          }
      ]
  },
  {
      store_name: 'Souq',
      products: [
          {
              description: 'Opal',
              price: 345.43
          },
          {
              description: 'Sapphire',
              price: 899.33
          }
      ]
  }
]

most_expensive_products_by_store = []

Answer

{:store_name=>"Jarir", :most_expensive_product=>{:description=>"Titanium", :price=>9384.33}}
{:store_name=>"Tamimi", :most_expensive_product=>{:description=>"Silver", :price=>654.44}}
{:store_name=>"Souq", :most_expensive_product=>{:description=>"Sapphire", :price=>899.33}}

Bonus

Write an infinite loop that will make you add all the your friends in the students list and after each add will ask if you want to quit the loop (yes/no) if the user choose no print all the students array

Answer


add a student
Asma Baabdullah
Do you want to continue ? (y/n)
y
add a student
Fajr Albakiri
Do you want to continue ? (y/n)
y
add a student