В предыдущем посте я подробно описал несколько способов перевернуть строку - часто задаваемый вопрос во время технических собеседований. Сегодня я объясню, как ответить на еще один распространенный вопрос на собеседовании, перевернув целое число.

Как указано в инструкциях, нам поручено взять целое число в качестве аргумента и вернуть целое число, которое является обратным порядком чисел.

Как вы, возможно, уже знаете, в JavaScript есть удобный встроенный метод reverse() с соответствующим названием. Однако reverse() можно использовать только для массивов. Хотя можно split преобразовать строку в массив с помощью метода split(), наш аргумент имеет Number type, а не String. К счастью, в JavaScript есть еще один полезный встроенный метод преобразования чисел в строки - метод toString().

Итак, нашим первым шагом было бы объявить переменную reversed и установить ее равной нашему аргументу, преобразованному в строку.

После того, как наш аргумент был преобразован в строку, мы можем вызвать для него split(), который превратит его в массив. После разделения мы можем вызвать reverse() в новом массиве, чтобы отменить его. Наконец, мы join обратно преобразовываем наш массив в строку с join().

Я предпочитаю объединять каждый метод reversed в отдельную строку для удобства чтения.

Несмотря на то, что мы успешно изменили наш аргумент, проблема требует от нас вернуть перевернутое целое число, а reversed в настоящее время является строкой. Чтобы преобразовать нашу перевернутую строку обратно в целое число, мы можем использовать другой удобный встроенный метод parseInt().

Теперь, когда reverseInt() возвращает обратное целое число, он не работает правильно с отрицательными целыми числами и в настоящее время игнорирует отрицательный символ (-).

В моей прошлой статье я привел примеры некоторых наиболее распространенных методов Math Object JavaScript. Одним из методов, которые я обсуждал, был Math.sign(), который можно использовать для решения нашей проблемы.

Math.sign() принимает целое число в качестве аргумента и возвращает 1, если переданное целое число было положительным числом или -1, если целое число было отрицательным. Это означает, что мы можем передать аргумент нашей функции n в Math.sign() и умножить результат на наше обратное целое число.

Если аргумент reverseInt() является отрицательным целым числом, наша инструкция return будет решением parseInt(reversed) * -1, которое приведет к обратному отрицательному целому числу.

Вывод

Хотя вам, скорее всего, никогда не понадобится переворачивать целое число в реальном мире, знание того, как это сделать, - отличный способ продемонстрировать свои навыки решения проблем во время собеседования.

Обращение целого числа происходит примерно так же, как обращение строки, но с несколькими добавленными шагами, чтобы заставить его работать правильно. Комбинируя встроенный JavaScript и Math методы, такие как toString(), parseInt() и Math.sign(), вы сможете произвести впечатление на собеседника, создав функцию, которая переворачивает любое целое число.