Функция является ли строка палиндромом. У меня мой код не проходит всю проверку,

Функция является ли строка палиндромом. У меня мой код не проходит всю проверку, проходи тольки три теста вот пример для проверки:

palindrome('34543') === true
palindrome('345543') === true
palindrome('3') === true
palindrome('') === true
palindrome('723210') === false

мой код:

function palindrome(str) {
  let check = '';
  for (let i = str.length; i > 0; --i) {
    check += str[i];
  }
  if (str == check) {
    return true;
  } else {
    return false;
  }
}

console.log(palindrome('34543'));// === true
console.log(palindrome('345543'));// === true
console.log(palindrome('3'));// === true
console.log(palindrome(''));// === true
console.log(palindrome('723210'));// === false


Ответы (4 шт):

Автор решения: Igor

function palindrome(str) {
  let check = '';
  for (let i = str.length - 1; i >= 0; --i) {
    check += str[i];
  }
  return str == check;
}

console.log(palindrome('34543'));// === true
console.log(palindrome('345543'));// === true
console.log(palindrome('3'));// === true
console.log(palindrome(''));// === true
console.log(palindrome('723210'));// === false

→ Ссылка
Автор решения: UModeL

Разбиваем строку на массив символов, обращаем порядок и снова объединяем в строку. Возвращаем результат сравнения получившейся строки с оригинальной.

function palindrome(str) {
  return str.split('').reverse().join('') == str;
}

console.log(palindrome('34543')); // === true
console.log(palindrome('345543')); // === true
console.log(palindrome('3')); // === true
console.log(palindrome('')); // === true
console.log(palindrome('723210')); // === false

То же самое со spread-ом:

function palindrome(str) {
  return [...str].reverse().join('') == str;
}

console.log(palindrome('34543')); // === true
console.log(palindrome('345543')); // === true
console.log(palindrome('3')); // === true
console.log(palindrome('')); // === true
console.log(palindrome('723210')); // === false

→ Ссылка
Автор решения: Артем Охрименко
function palindrome() {
            let result = prompt("Введите значение");
            let stringArr = result.split("").reverse().join("");
    
            if (result == stringArr) {
                console.log("Данное значение является палиндромом");
            } else {
                console.log("Данное значение не является палиндромом");
            }
        }
        palindrome();
→ Ссылка
Автор решения: Roma
let func = (str)=>{
    str = str.toLowerCase().replace(/\s/g, '')
    return str === str.split('').reverse().join('');
}
console.log(func('Nan'));
→ Ссылка