这是Javascript中玩具问题的解决方案。我们的工作是在一个字符串中找到一个Palindrome(你可以来回读取相同的词,比如“雷达”,“转子”),单词用空格分隔,如果没有符合要求,则返回一个空字符串。我理解一切,但我不知道他们如何使用reduce方法找到这个词,特别是语法“?word:prevWord”
有人可以解释一下吗?
function reverseString(str) {
return str.split('').reverse().join('');
}
function isPalindrome(str) {
return str === reverseString(str);
}
function getWords(str) {
return str.split(' ');
}
function findPalindrome(str) {
var words = getWords(str);
return words.reduce(function(prevWord, word) {
return isPalindrome(word) ? word : prevWord;
}, '');
}
如你所知,我是否使用最后一项功能
findPalindrome("this is a very good rotor");
它会返回
"rotor"