Пришло время сделать работу с товарами в нашем приложении более организованной с использованием объектов.
- Активируйте строгий режим соответствия.
- Скопируйте код ниже и вставьте его в начало своей работы:
var positions = [
'Телепорт бытовой VZHIH-101',
'Отвертка ультразвуковая WHO-D',
'Ховерборд Mattel 2016',
'Нейтрализатор FLASH black edition',
'Меч световой FORCE (синий луч)'
];
var prices = [
10000,
4800,
9200,
2500,
57000
];
var hitName = positions[2], hitPrice = prices[2];В этом месяце мы определили хит продаж. Его название — в переменной hitName, а цена — в hitPrice. Cоздадим и поместим в переменную hit объект со свойствами name и price и выведем информацию о нём в консоль.
- Создать пустой объект и присвоить его в переменную
hit. - Добавить свойства
nameиprice, поместив туда название и цену текущего хита. - Вывести, используя переменную
hit, информацию о товаре:
Хит продаж мартобря: <Ховерборд Mattel 2016> цена 9200 Q
Угловые скобки обязательны
Преобразуем информацию о товарах в массивах positions и prices в массив объектов items с ключами name и price.
- Создайте пустой массив в переменной
items. - Создайте для каждого товара новый объект.
- Запишите название товара в свойство name созданного объекта.
- Запишите цену товара в свойство
priceсозданного объекта. - Поместите новый объект в массив
items. - После того, как все товары преобразованы, выведите, используя массив
items, информацию о товаре с индексом4в консоль в виде:
Купите Меч световой FORCE (синий луч) по цене 57000 Q
Для нашего отдела оптовых продаж необходимо реализовать функцию, которая принимает в качестве аргумента объект товара и количество штук и выводит в консоль информацию о его стоимости с учетом объема партии. Скидка от объема определяется следующим образом:
- До 10 штук — скидка 5 %
- От 10 до 50 штук — скидка 7 %
- От 50 до 100 штук — скидка 10 %
- 100 и более штук — скидка 15 %
- Создайте функцию
showDiscount. - Определите размер скидки.
- Вычислите стоимость партии с учетом скидки.
- Вычислите выгоду с учетом скидки.
- Выведите в консоль информацию о скидке в формате:
Телепорт бытовой VZHIH-101 — стоимость партии из 12 штук 111600 Q (скидка 7 %), ваша выгода 8400 Q!
- Вызовите полученную функцию для товара из массива
itemsс индексом0и размером партии12 штук. - И для товара с индексом
3и размером партии97 штук.
На складе всех товаров в достаточном количестве. А вот товаров items[3] осталось всего 4. Решено вести учет их количества, чтобы вовремя узнать, что они закончились.
- Создайте свойство
amountдля соответствующего товара, в котором будем хранить остаток. - В качестве значения этого свойства запишите
4. - Создайте функцию
updateAmount, которая будет принимать объект товара и расход в штуках, по умолчанию1. - Проверьте, есть ли у объекта товара свойство
amount. Если свойства нет, выходим из функции. - Если свойство
amountравно нулю, или расход больше, чемamount, выводим сообщение вида:
Нейтрализатор FLASH black edition закончился на складе.
- Если свойство
amountбольше расхода, уменьшаем на расход значение свойства и выводим сообщение вида:
Нейтрализатор FLASH black edition — остаток 3 шт.
- Если свойство
amountравно расходу, уменьшаем на расход значение свойства и выводим сообщение вида:
Это был последний Нейтрализатор FLASH black edition, вам повезло!.
- Вызываем полученную функцию для товара из массива
itemsс индексом1и расходом17. - Потом для товара с индексом
3и расходом3. - И еще один раз для товара с индексом
3, расход не передаем.
Инструкция по выполнению домашнего задания:
- Зарегистрируйтесь на сайте Repl.IT.
- Перейдите в раздел my repls.
- Нажмите кнопку Start coding now!, если приступаете впервые, или New Repl, если у вас уже есть работы.
- В списке языков выберите JavaScript.
- Код пишите в левой части окна.
- Посмотреть результат выполнения файла можно, нажав на кнопку Run. Результат появится в правой части окна.
- После окончания работы нажмите кнопку Share и скопируйте ссылку из поля Share link.
- В личном кабинете на сайте netology.ru в поле комментария к домашней работе вставьте скопированную ссылку и отправьте работу на проверку.
Никаких файлов прикреплять не нужно.