Нашему знакомому школьнику Васе потребовалось проверять читается ли строка справа налево так же как и слева направо. Но писать функцию для этого ему не интересно. Вася решил расширить сам язык JavaScript и добавить возможность проверки строки на полиндром.
- Используйте прототип класса
String
для добавления новой возможности - В прототип класса
String
добавьте функциюisPalindrome
, которая будет проверять строку на полиндром - Используйте
this
для обращения к текущей строке на которой применяется функция - Не используйте стрелочную функцию (предпочитая обычную) для того, что бы не потерять контекст
- Функция должна возвращать
true
если строка читается одинаково в любую сторону, иfalse
если строка читается по-разному. - Реализуйте регистронезависимость функции
- Проверьте вашу функцию:
console.log("А роза упала на лапу Азора")//true
Марии Степановне очень пригодился журнал, который вы помогли разработать. Остаются, буквально, последние штрихи: для того, чтобы поставить оценку за четверть по предмету, учителю требуется округлить ее. Расширьте программу так, чтобы она выводила не только средний балл, но и округленный.
- Создайте функцию принимающую один аргумент
marks
, массив оценок ученика; - Подсчитайте средний бал ученика
average
, перебирая массивmarks
; - Округлите средний бал
average
до ближайшего целого, записав в переменнуюroundedAverage
; - Верните результат работы функции - переменную
roundedAverage
.
Задача со "звездочкой", ее выполнение не влияет на получение допуска до дипломной работы, но принесет много полезного опыта.
Бармен-андроид Арчи очень благодарен за ту программу, которую вы в него встроили. Однако, появилась проблема: знать год рождения посетителя оказалось недостаточным. Нужно знать еще и дату рождения, и уже на основе этого делать выводы. Расширьте программу так, чтобы она могла принимать полную дату рождения и выдавала результат в зависимости от текущей даты и времени.
- Получить текущую дату в Unix Timestamp и записать в переменную
now
; - Создать экземпляр
Date
с датой рождения пользователя (помните, что месяцы начинаются с 0, а даты с 1); - Получить Unix Timestamp даты рождения пользователя и записать в переменную
birthday
; - Посчитать разницу между
birthday
иnow
в миллисекундах, сохранив в переменнуюdiff
; - Определить возраст пользователя
age
, разделивdiff
на количество миллисекунд в году (помните про високосные года); - Верните в качестве результата работы функции, анализ
age
, является ли клиент совершеннолетним ( > 18 лет).
- браузер;
- редактор кода, например Sublime или Visual Studio Code;
- аккаунт на GitHub (инструкция по регистрации на GitHub);
- система контроля версий Git, установленная локально (инструкция по установке Git);
- запуск всех тестов должен успешно выполнять все тесты:
- Перейти в папку задания.
cd ./2.2-object-prototype
. - Открыть файл
task.js
в вашем редакторе кода и выполнить задание. - Открыть файл
index.html
в вашем браузере и с помощью консоли DevTools убедиться в правильности выводимых результатов. - Добавить файл
task.js
в индекс git с помощью командыgit add %file-path%
, где %file-path% - путь до целевого файла.git add task.js
. - Сделать коммит используя команду
git commit -m '%comment%'
, где %comment% - это произвольный комментарий к вашему коммиту.git commit -m 'first commit object-prototype'
. - Опубликовать код в репозиторий homeworks с помощью команды
git push -u origin master
. - Прислать ссылку на репозиторий через личный кабинет на сайте Нетологии.
Никаких файлов прикреплять не нужно.
Все задачи обязательны к выполнению для получения зачета. Присылать на проверку можно каждую задачу по отдельности или все задачи вместе. Во время проверки по частям ваша домашняя работа будет со статусом "На доработке".
Любые вопросы по решению задач задавайте в Slack-канале.