用 javascript 匹配回文中的单个字符?

matching individual characters in a palindrome with javascript?

我可以在字符串上使用 .reverse().join 来匹配以查看一串数字是否是回文,并得到真或假,例如:

var isPalindrome = function (string) {
  if (string == string.split('').reverse().join('')) {
    alert(string + ' is palindrome.');
  }
  else {
    alert(string + ' is not palindrome.');
  }
}

但是,我需要计算出有多少数字匹配回文模式,而不是整个单词。例如,如果用户输入“112231”,return 将为 2,“1234321”为 3,“4010220804”为 4,依此类推。

我采用了反转字符串和正常字符串并遍历了它们的索引,因为它们的长度应该相同。我刚刚创建了一个计数器,如果它不是一个完整的回文就返回一个警报。

 var isPalindrome = function(string) {
  let letters = string.split('');
  let reversed = Array.from(letters).reverse();
  if (string == reversed.join('')) {
    alert(string + ' is palindrome.');
    return true;
  } else {
    let matches = 0;
    for (let letter_index in letters) {
        if (letters[letter_index] === reversed[letter_index]) {
          matches++;
      }  
    }
    alert(matches);
  }
}

 var isPalindrome = function(string) {
  let letters = string.split('');
  let reversed = Array.from(letters).reverse();
  if (string == reversed.join('')) {
    alert(string + ' is palindrome.');
    return true;
  } else {
    let matches = 0;
    for (let letter_index in letters) {
        if (letters[letter_index] === reversed[letter_index]) {
          matches++;
      }  
    }
    alert(matches);
    return matches;
  }
}

isPalindrome('tacocat');
isPalindrome('tacocatat');
isPalindrome('banana');
isPalindrome('anana');