Постоянные клиенты
У кузнеца есть постоянные клиенты, и некоторым из них положена скидка: несколько золотых монет с каждого заказа. Они лежат в новом массиве regulars, элементы которого имеют тип Customer. Скидка есть не у каждого постоянного клиента, поэтому discount — необязательное свойство.
Постоянный клиент со скидкой платит цену за вычетом скидки, а строка заказа заканчивается скидкой в скобках. Постоянный клиент без скидки платит полную цену. Клиент, которого нет среди постоянных, тоже платит полную цену, но строка заканчивается словами (новый клиент). Итог теперь — это то, что клиенты платят на самом деле:
Кира: ковка, Наконечники стрел (сталь), цена 30 (скидка 5)
Бруно: ремонт, Боевой топор, цена 15 (новый клиент)
Лена: заточка, Кинжал, цена 8
Бруно: ковка, Щит (бронза), цена 20 (новый клиент)
Итого: 73Скидка Киры — 5 золотых, поэтому за наконечники она платит 30. Лена — постоянный клиент без скидки, а Бруно среди постоянных клиентов вообще нет.
Подсказка: когда вы ищете клиента через find, помните из урока «Объединения и сужение типов», что он может ничего не найти. TypeScript заставит вас обработать этот случай, а также отсутствующую скидку.
Задание
- 1
Измените строки заказов: покажите скидки и пометьте клиентов, которых нет среди постоянных.
- 2
Выведите итог, который платят клиенты.