reduce方法中的语法

时间:2016-10-13 03:31:08

标签: javascript function functional-programming

这是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"

0 个答案:

没有答案