Быстрый старт с преобразованием числовой строки и обратными утилитами

Самый простой способ инвертировать целое число — преобразовать его в строку, инвертировать строку и затем преобразовать результат обратно в число.

Обратное число в JavaScript

Встроенная функция String может преобразовать число в строку.

String(12345)
//"12345"

Метод split разбивает текст на массив подстрок на основе разделителя. Чтобы разделить строку на массив символов, мы используем пустую строку в качестве разделителя. Ниже приведен пример.

const text = "12345";
text.split("");
//["1", "2", "3", "4", "5"]

Следует отметить, что split может правильно преобразовать строку в массив символов только тогда, когда символы умещаются в 16-битном формате. Числа подходят для 16-битных.

Метод reverse переворачивает элементы в массиве. Он изменяет порядок элементов в исходном массиве.

const arr = ["1", "2", "3", "4", "5"];
arr.reverse();
console.log(arr);
//["5", "4", "3", "2", "1"]

Метод join возвращает новую строку путем объединения всех элементов массива, разделенных заданным разделителем.

const arr = ["5", "4", "3", "2", "1"];
const newText = arr.join("");
//"54321"

Встроенная функция Number может преобразовать строку в число.

Number("54321")
//54321

Вот полный алгоритм обращения числа:

  • преобразовать число в строку
  • разбить строку на массив символов
  • перевернуть массив
  • присоединиться к массиву с пустым пространством в качестве разделителя
  • преобразовать результат в число
function reverse(no){
   const text = String(no);
   const reversedText = text
     .split("")
     .reverse()
     .join("");
   return Number(reversedText);
}
console.log(reverse(123))
//321

Изменение числа в Эликсире

В Эликсире функция to_string может преобразовать число в строку.

to_string(12345)
# "12345"

В модуле String уже есть функция для обращения строки с именем String.reverse.

String.reverse("12345")
//# 54321

Строки можно преобразовать в целые числа с помощью утилиты String.to_integer.

Мы можем поместить все преобразования в конвейер, используя оператор pipe. В конвейере результат одной функции отправляется в качестве входных данных для следующей.

Вот полный алгоритм обращения числа:

  • преобразовать число в строку
  • перевернуть строку
  • преобразовать перевернутую строку обратно в число
def reverse_number(no) do
  no
   |> to_string
   |> String.reverse
   |> String.to_integer
end

Спасибо за чтение.