const isPalindrome = num => {
let n = num;
let order = 10 ** ~~(Math.log10(n));
while (n >= 10) {
const leftDigit = ~~(n / order);
const rightDigit = n % 10;
if (leftDigit !== rightDigit) {
return false;
}
n = Math.trunc((n - leftDigit * order) / 10);
order /= 100;
}
return true;
};
Но стоит отметить, что оно всё равно намного медленнее моего решения, даже если первый же символ отличается.
Честно говоря, я не очень понимаю почему, однако это так, что в фф, что в хроме.
П.с.: транк в фф ппц медленный... Добавление одного транка в цикл замедляет функцию в 4-5 раз.
Сейчас при нажатии кнопки ничего не происходит, пока не придет ответ сервера. А потом уже делает остальные действия. Часть кода перед отправкой запроса вообще не выполняется, пока запрос не придет...
Так ты же сам отключил асинхронность...
Ох уж эти любители стрелять себе в ногу.
Alexander, могут и с сервера, не принципиально. Хотя в данном случае это будет более гибкий и удобный вариант, при необходимости изменить фильтры будет достаточно изменить их только на беке.
Но, опять же, логика выбора ключей фильтра никак не изменится, просто она будет либо на беке, либо на фронте, а так она идентична.
Alexander, я даже не знаю что скидывать, потому что для меня это базовый уровень программирования...
Я даже не понимаю как это гуглить. Получение значение объекта по ключу? Изменения стейта в реакте? Всё это реализуется с помощью основ, без прибегания к чему-то сложному и непонятному.
Но стоит отметить, что оно всё равно намного медленнее моего решения, даже если первый же символ отличается.
Честно говоря, я не очень понимаю почему, однако это так, что в фф, что в хроме.
П.с.: транк в фф ппц медленный... Добавление одного транка в цикл замедляет функцию в 4-5 раз.