Javascript Palindrome功能逻辑写得正确吗?

jsn*_*bie 3 javascript function

我是编程的新手,所以请耐心等待.我目前正致力于函数逻辑.我正在尝试编写一个函数来查看传递的字符串是否是回文(真或假).

这是我的代码,

function palindrome(word){
  if(word === word.reverse())
    return true;
 } else {
    return false;
 };

 palindrome("ohho");
Run Code Online (Sandbox Code Playgroud)

当我在Google Inspect Element控制台上运行它时.我得到的说,一个语法错误Uncaught SyntaxError: Unexpected token else关于 } else {我有几个问题,

  1. 我的代码中的逻辑是否正确?
  2. 另外,为什么我会收到语法错误?

谢谢!

Kos*_*ery 5

它可以简化为:

function palindrome(word) {
  return word === Array.from(word).reverse().join('')
}

console.log(palindrome("ohho"))
console.log(palindrome("ohno"))
Run Code Online (Sandbox Code Playgroud)

更有效的方式:

function palindrome(word) {
  var ln = word.length;
  for (var i = 0; i <= ln/2;) 
    if (word[i++] !== word[ln-i]) return false;
  return true
}

console.log(palindrome("ohho"))
console.log(palindrome("ohno"))
Run Code Online (Sandbox Code Playgroud)

尝试自己处理大写,小写,空格和标点符号以检查"赛车"之类的短语.