В магазине появилась возможность оформить дополнительное гарантийное обслуживание на любой товар: на 1 год за 1250 Q и на 2 года за 2300 Q.
Вдобавок ко всему, на товаре можно сделать гравировку с любой надписью. Стоимость надписи – 11 Q за 1 слово.
При оформлении заказа клиент может выбрать необходимые ему функции, в том числе доставку. Данные о стоимости доставки возьмите из задания к лекции «Управляющие конструкции».
Напишите функцию, которая принимает в качестве значения количество лет, на которое оформляется дополнительное гарантийное обслуживание, и возвращает в качестве результата своей работы стоимость услуги. В случае, если клиент не выбрал услугу, возвращается 0.
- Создайте функцию, принимающую нужное количество аргументов на вход.
- Определите, на какое количество лет приобретается дополнительное гарантийное обслуживание.
- Предусмотрите вариант, когда услуга не выбрана.
- В качестве результата работы функции возвратите вычисленную стоимость.
- Вызовите функцию.
- Выведите результат работы функции в консоль в формате:
Дополнительное гарантийное обслуживание: 1250 Q
Напишите функцию, которая будет принимать на вход строку с надписью для гравировки. На выход функция отдает стоимость для гравировки. Если строка пустая или равна undefined
, то цена гравировки равна 0.
- В переменную запишите строку текста, которую нужно будет выгравировать.
- Создайте функцию, принимающую в качестве аргумента строку.
- Воспользуйтесь методом
split
, чтобы получить массив слов, по аналогии с примером ниже:
var string = 'Это строка из нескольких слов';
var words = string.split(' ');
console.log(words);
- Предусмотрите универсальный способ расчета стоимости гравировки от количества слов. Мы не ограничиваем клиентов по длине надписи.
- Верните в качестве результата работы вычисленную стоимость.
- Выведите результат работы функции в консоль в формате:
Подарочная упаковка и гравировка: 55 Q
Подробнее про метод split
читайте в документации.
Напишите функцию, которая в качестве аргумента будет принимать необходимость доставки товара клиенту и название планеты. Предусмотрите вариант, когда клиенту не нужна доставка, неверно введено название области доставки или доставка в квадрант не осуществляется.
- Создайте функцию, принимающую нужное количество аргументов.
- Проверьте, нужна ли доставка клиенту.
- Если да, то сверьте название введенной области с доступными областями доставки.
- Если название верное и доставка в квадрант осуществляется, то посчитайте стоимость и верните сумму в качестве результата работы функции.
- Если доставка клиенту не нужна, то результатом функции должен быть
0
. - Если область доставки введена неверно или в данную область доставка не осуществляется, то результатом функции должен быть
NaN
. - Выведите результат работы функции в консоль в формате:
- Если доставка нужна:
Стоимость доставки: 550 Q
- Если результат функции
0
:
Доставка не требуется
- Если результат функции
NaN
:
Ошибка при расчете стоимости доставки
Оформите все предыдущие задачи в одну глобальную функцию, принимающую в качестве аргументов сумму заказа, срок гарантии, фразу для гравировки, необходимость доставки и название зоны доставки. Результатом работы функции будет общая стоимость заказа. Результат работы функции выведите в консоль в формате:
Общая стоимость заказа: 5855 Q.
Из них 1250 Q за гарантийное обслуживание на 1 год/года.
Гравировка на сумму 55 Q.
Доставка в область Галактика Туманность Андромеды: 550 Q.
Инструкция по выполнению домашнего задания:
- Зарегистрируйтесь на сайте Repl.IT.
- Перейдите в раздел my repls.
- Нажмите кнопку Start coding now!, если приступаете впервые, или New Repl, если у вас уже есть работы.
- В списке языков выберите JavaScript.
- Код пишите в левой части окна.
- Посмотреть результат выполнения файла можно, нажав на кнопку Run. Результат появится в правой части окна.
- После окончания работы нажмите кнопку Share и скопируйте ссылку из поля Share link.
- В личном кабинете на сайте netology.ru в поле комментария к домашней работе вставьте скопированную ссылку и отправьте работу на проверку.
Никаких файлов прикреплять не нужно.