Показать сообщение отдельно
  #5 (permalink)  
Старый 21.04.2020, 18:59
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Poznakomlus, а кто будет проверять на Number.MAX_SAFE_INTEGER? Зачем отрицательные значения обрабатываются отдельно?

function reverseNumber(value) {
	let result = 0n;

	while(value !== 0n) {
		result = 10n * result + value % 10n;
		value /= 10n;
	}

	return result;
}

alert(1221n === reverseNumber(1221n));


При помощи рекурсии...
function reverseNumber(value, result = 0n) {
	return value === 0n ? result : reverseNumber(value / 10n, 10n * result + value % 10n);
}
alert(1221n === reverseNumber(1221n));
Ответить с цитированием