2015-08-09 2 views
1

Я пытаюсь выполнить функцию проверки палиндрома для упражнения http://www.freecodecamp.com/challenges/bonfire-check-for-palindromes , и я не понимаю, почему функция ниже не работает. Я вытащил все не-буквы, сделал это в нижнем регистре - в чем проблема?Функция проверки палиндрома

function palindrome(str) { 
    if (str.replace(/[^A-Za-z]/g, '').toLowerCase().split('').reverse().join('')===str) 
    { 
    return true; 
    } 
    else { 
    return false; 
    } 
} 

ответ

0

Вы вынули все небуквы и преобразуются в нижний регистр только левую часть уравнения, а затем (после реверсии) вы приравнивая его к Силе, которая все еще может иметь прописные и небуквы

Try:

function palindrome(str) { 
    return str.replace(/[^A-Za-z]/g, '').toLowerCase().split('').reverse().join('') === str.replace(/[^A-Za-z]/g, '').toLowerCase(); 
} 

Обратите внимание, что нет необходимости делать, если (х) возвращает истину еще вернуться ложным, вы можете просто вернуть булево, который находится внутри если.

Смежные вопросы