查找字符串中最长的回文并返回Javascript中最长的单个单词
我写了一个在一句话中找出最长回文的方法。到目前为止,我已经使用for循环来执行此操作,但它没有返回正确的单词查找字符串中最长的回文并返回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++) {
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如果您的句子有空格以外的分隔符,您可以使用在。请检查答案中的片段。如果它解决了您的问题,请单击左侧的灰色复选标记。