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

标签 javascript palindrome

我可以使用字符串上的 .reverse().join 来匹配一串数字是否是回文,并得到 true 或 false,例如:

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

但是,我需要计算出有多少数字与回文模式匹配,而不是整个单词。例如,如果用户输入“112231”,则返回值为 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');

关于javascript - 用javascript匹配回文中的单个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46719962/

相关文章:

javascript - 使同步代码异步处理大型数组并发出完成百分比

javascript - 将 ( 替换为 JavaScript

javascript - 更改 'checked' 属性不会更改 View 模型

java - 他们是否有任何简化的 Java 来查找 0000 到 9999 之间的回文日期?

c - 在c中找到一个数字的回文

c - 函数 ‘strrev’ 的隐式声明

javascript - 使用 JavaScript 进行递归回文检查

php - 我不知道如何处理这个 PHP 代码

javascript - 滚动魔法。向两个元素添加类

javascript - 从模板字符串/文字中获取元素的 ID