查找字符串中最长的回文并返回Javascript中最长的单个单词

查找字符串中最长的回文并返回Javascript中最长的单个单词,javascript,for-loop,palindrome,Javascript,For Loop,Palindrome,我写了一个在一句话中找出最长回文的方法。到目前为止,我已经使用for循环来执行此操作,但它没有返回正确的单词 function findLongestPalindrome(sentence) { let wordArray = sentence.split(" "); let longestWord = 0; let word = " "; for(let i = 0; i < wordArray.length; i++) {

我写了一个在一句话中找出最长回文的方法。到目前为止,我已经使用for循环来执行此操作,但它没有返回正确的单词

function findLongestPalindrome(sentence) {
  let wordArray = sentence.split(" ");
  let longestWord = 0;
  let word = " ";
  
  for(let i = 0; i < wordArray.length; i++) {
    if(longestWord < wordArray[i].length) {
      longestWord = wordArray[i].length;
      word = wordArray[i]
    }
  }
  return word;
}
函数findlongest回文(句子){
让wordArray=句子。拆分(“”);
设longestWord=0;
让单词=”;
for(设i=0;i

谁能告诉我哪里出错了吗?

您缺少一个检查字符串是否为回文的函数。请参考下面的代码,您可以使用
newset()
进一步优化并重构代码

函数findlongest回文(句子){
让wordArray=句子.match(/\b\w+\b/g),
longestWord=0,
单词=”;
for(设i=0;i)
问题在于找到最长的回文,而不是最长的单词。回文是向后读时相同的单词。您在哪里检查该单词是否为回文?这只会让你知道最重要的词。网上有数百个检查单词是否是回文的例子:这不会返回最长的单个回文单词。至少这对我有用。如果您使用的任何句子不起作用,请将其与预期输出一起发送,我可以检查FindLongestPalindrome('这是一个有趣的句子:kayak,十一月,anna')//应返回'kayak'@和Y86如果您的句子有空格以外的分隔符,您可以使用在。请检查答案中的片段。如果它解决了您的问题,请单击左侧的灰色复选标记。