Skip to content

Latest commit

 

History

History
49 lines (38 loc) · 4.87 KB

Exercises.ua.md

File metadata and controls

49 lines (38 loc) · 4.87 KB

Вправи

  • Зробіть форк репозиторію
  • Зклонуйте форк до себе, наприклад так:
    • git clone git@github.com:HowProgrammingWorks/Reusable.git
  • Встановіть залежності npm i
  • Відкрийте каталог: Exercises
  • Номери файлів відповідають номерам завдань
  • Запускайте тести для перевірки роботоздатності коду: npm t

Ідентифікатори

  1. Оголосіть змінну та запишіть у неї своє ім'я як літерал рядка.
  2. Оголосіть константу і запишіть у неї рік народження як літерал числа.
  3. Створіть функцію, яка друкує привітання та має один аргумент: name.

Цикли

  1. Реалізуйте функцію range(start: number, end: number): array яка віддає масив чисел з діапазону [15, 30], включаючи крайні числа.
  2. Реалізуйте функцію rangeOdd(start: number, end: number): array яка віддає масив непарних чисел з діапазону [15, 30], включаючи крайні числа.

Функції

  1. Вкладені виклики функцій у циклі
  • Реалізуйте функцію average з сигнатурою average(a: number, b: number): number що обчислює середнє арифметичне своїх аргументів.
  • Реалізуйте функцію square із сигнатурою square(x: number): number що обчислює квадрат свого аргументу.
  • Реалізуйте функцію cube із сигнатурою cube(x: number): number що обчислює куб свого аргументу.
  • Викличте функції square та cube у циклі від 0 до 9, обчислюючи, відповідно квадрат та куб від змінної циклу. Передайте квадрат і куб на кожній ітерації в функцію average. Результати складіть у масив і поверніть із функції calculate.

Об'єкти

  1. Виконайте такі пункти всередині функції fn (див. приклад: 7-objects.js)
  • Створіть об'єкт з одним полем name і запишіть посилання на нього в константу.
  • Створіть об'єкт з одним полем name і запишіть посилання на нього в змінну.
  • Спробуйте змінити значення поля name в обох об'єктів.
  • Спробуйте записати посилання на інший об'єкт в обидва ідентифікатори.
  • Поясніть поведінку коду та залиште лише робочий код.
  1. Реалізуйте функцію 'createUser' з сигнатурою createUser(name: string, city: string): object. Приклад виклику: createUser('Marcus Aurelius', 'Roma') функція повинна повернути об'єкт { name: 'Marcus Aurelius', city: 'Roma' }

Колекції

  1. Реалізуйте зберігання телефонних номерів у масиві об'єктів.
  • Оголосіть масив об'єктів з двома полями: name та phone для зберігання даних. Приклад об'єкта: { name: 'Marcus Aurelius', phone: '+380445554433' } і додайте декілька об'єктів у масив, щоб було на чому перевіряти.
  • Реалізуйте функцію findPhoneByName з сигнатурою findPhoneByName(name: string): string. Під час виклику функція повинна знаходити об'єкт, де поле name дорівнює аргументу name і повертати номер телефону. Для пошуку скористайтесь циклом for.
  1. Реалізуйте зберігання телефонних номерів на хеш-таблицях, тобто довідниках (об'єктах чи Map).
  • Задайте довідник (об'єкт) із ключами рівними значенням поля name (з попереднього прикладу) і значеннями з поля phone.
  • Реалізуйте функцію findPhoneByName з сигнатурою findPhoneByName(name: string): string яка знаходить телефон у хеші по імені та повертає номер телефону. Використовуйте hash[key] для пошуку телефону.