Пара двойников
Напишите функцию doubleNum
, которая возвращает переданное ей число увеличенное вдвое, если число не состоит из “двойников” — в таком случае функция просто возвращает исходное число:
Решение
Приведение числа к строке
Привести число к стороке можно несколькими способами:
- Использовать метод
num.toString()
- Сложить число с пустой строкой
num + ''
- Использовать ES6 интерполяцию
`${num}`
Убрать лишнее
При решении задачи нас интересует только первая половина строки, так как всё, что необходимо сделать для проверки на “двойников” — сложить две первые половины числа и проверить равны ли они исходному числу.
Для того чтобы отделить первую половину числа можно воспользоваться методом строк String.prototype.slice()
(MDN):
В случае, если длина строки будет нечетным числом, то в переменную half
запишется большая часть, то есть если длина строки 15 символов, то переменная будет содержать первые 8 из них.
Сравнение
После того как мы получили половину строки, всё, что остаётся сделать, — сложить половину строки саму с собой и проверить на равенство с исходным значением:
В случае если переданное число состоит из “двойников”, то результат будет true
:
Если же переданное число не состоит из двойников, то результатом будет false
:
Решение целиком
Решение без приведения числа к строке
Автор решения — Антон Миргородченко.
Решение с регулярными выражениями
Автор решения — Никита Бетманенко.
Комментарии