Быстрый старт с преобразованием числовой строки и обратными утилитами
Самый простой способ инвертировать целое число — преобразовать его в строку, инвертировать строку и затем преобразовать результат обратно в число.
Обратное число в 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
Спасибо за чтение.