Вспомнил одну задачу, нужно написать функцию возвращаю число в обратном порядке, без преобразования в строку. К примеру 5921 -> 1295. Никак не дойдет как это сделать
Пока num !== 0
берем последнюю цифру от num
, делим этот num
на 10, добавляем порядок к result
и плюсуем последнюю цифру к result
.
var num = 5921;
function getReversedNum(num) {
let result = 0;
while (num) {
result = result * 10 + num % 10;
num = Math.floor(num / 10);
}
return result;
}
console.log(getReversedNum(num));
Не лучший вариант, но рабочий:
function reverseInt(number) {
var result = '';
while(number>0){
result = result + (number%10);
number = parseInt(number/10);
}
return result;
}
var number = 5921;
console.log(reverseInt(number));
revert = num => {
let i = 0, result=0;
for(let r=1; r<num; r=10**++i) result+=(((num-num%r)/r)%10)/r;
return result*(10**(i-1));
}
console.log([321,48735,90008].map(revert))
Или так:
function reverse(num, r = 0){
if(!num) return r;
r = r * 10 + num % 10;
return reverse(Math.floor( num / 10), r);
}
console.log(reverse(12345));
А так устроит ответ? без преобразования в string
:
var x = 5921;
var y = 0;
for(; x; x = Math.floor(x / 10)) {
y *= 10;
y += x % 10;
}
console.log(y);
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Дали задание, решаемое (вроде как) в пару строк кодаУсловие звучит так:
Нужно передавать на сервер обрезанное с помощью JS библиотеки изображениеКак это реализовать?