Валидность кода JS [закрыт]

147
06 декабря 2020, 08:20
Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.

Закрыт 1 год назад.

Улучшить вопрос

Почему подобная конструкция не проходит проверку?
Подскажите, в чем ошибка.

В этом задании вам нужно написать программу, которая будет определять является ли число палиндромом.

Алгоритм такой: нужно записать изначальное число задом наперёд и сравнить этот вариант с изначальным. Если оба числа равны — перед нами палиндром.

var poly = 1221;
var ylop = 0;
var isPalindrome = false;
var biba = 0;

while (isPalindrome = false) {
    biba = poly % 10;
    ylop = Math.round(poly / 10) + biba.toString();
    if (ylop == poly) {
        isPalindrome = true;
    } else {
        break;
    }
}

Answer 1

Если следовать описанию, которое используется в задаче, то код должен выглядеть вот так:

const poly = 13231; 
const notPoly = 45162; 
 
const isPolyndrom = n => { 
 return n.toString() === n.toString().split('').reverse().join(''); 
} 
 
// С учетом что проверяются только целые числа 
console.log(isPolyndrom(poly)); 
console.log(isPolyndrom(notPoly));

Но это не совсем оптимальный способ, потому что мы несколько раз проходимся по всем цифрам в числе (split, reverse, join).
Есть более оптимальный способ:

const poly = 13231; 
const notPoly = 45162; 
 
const isPolyndrom = n => { 
  const nAsString = n.toString(); 
  const length = nAsString.length; 
  const lastIndex = length - 1; 
   
  for(let i = 0; i <= Math.round(length / 2); i++) { 
    // Если противоположные элементы относительно центра не равны, то не полиндром 
    if (nAsString[i] !== nAsString[lastIndex -i]) { 
      return false; 
    } 
  } 
   
  return true; 
} 
 
// С учетом что проверяются только целые числа 
console.log(isPolyndrom(poly)); 
console.log(isPolyndrom(notPoly));

Преимущество в том, что используется только один цикл

READ ALSO
Проблема с парсингом JSON геокодера в JS

Проблема с парсингом JSON геокодера в JS

необходимо получить координаты по адресу через геокодер из JSON, и всё бы хорошо, но парситься полученный JSON не хочет, выдаёт ошибкуПри этом...

115
Найти в URL часть строки

Найти в URL часть строки

Как проверить есть ли в URL часть строкиСтрока полного вида

103
Как сделать сложный блок в CSS [дубликат]

Как сделать сложный блок в CSS [дубликат]

Как сделать такой блок, это делается в CSS или с помощью картинки? Причем чтобы там можно было размещать блокиЕсли CSS то как?

110