Nodejs String Palindrome Check isPalindrome()

Here you can find the source of isPalindrome()

Method Source Code

'use strict';/*  w w w .  ja va2  s  . c  o m*/

/**
 * Check if a string is the same written forward and backwards.
 * This implementation is faster than doing standard convert to array, reverse, join pattern.
 * @returns {Boolean} True if value is same forward and backwards
 */
String.prototype.isPalindrome = String.prototype.isPalindrome || function () {
  let length = Math.floor(this.length / 2);
  for (let i = 0; i < length; i++) {
    if (this[i] !== this[this.length - i - 1]) {
      return false;
    }
  }
  return true;
};

Related

  1. palindrome(str)
    function palindrome(str) {
      var removeChar = str.replace(/[^A-Z0-9]/ig, "").toLowerCase();
      var checkPalindrome = removeChar.split('').reverse().join('');
       return (removeChar === checkPalindrome);
    palindrome("eye");
    
  2. palindrome(str)
    String.prototype.reverse = function(){ return this.split("").reverse().join(""); }
    function palindrome(str) { return str == str.reverse(); }
    console.log(palindrome("ingirumimusnocteetconsumimurigni"));
    
  3. isPalindrome()
    String.prototype.isPalindrome = function() {
      var str = this;
      var half = parseInt(str.length / 2, 10);
      for (var i = 0, last = str.length - 1; i < half; ++i) {
        if (str[i] != str[last - i]) return false;
      return true;
    };
    
  4. isPalindrome()
    String.prototype.isPalindrome=function(){
      var palavra=this;
      for(var i=0;i<palavra.length/2;i++){
        if(palavra[i]!=palavra[palavra.length-1-i]){
          return false;
      return true;
    
  5. isPalindrome()
    String.prototype.isPalindrome = function() {
      var val = this.toString().toLowerCase();
      var reverse = val.split('').reverse().join('');
      return val === reverse;
    var str = 'something';
    var result = str.isPalindrome();  
    var str2 = 'level';
    var result2 = str2.isPalindrome();  
    ...
    
  6. isPalindrome()
    String.prototype.isPalindrome = function () {
      return this.valueOf() === this.reverse().valueOf();
    };
    String.prototype.reverse = function () {
      return Array.prototype.slice.apply(this).reverse().join('');
    };
    let result = 0;
    for (let i = 999; i > 0; i--) {
      for (let j = i; j > 0; j--) {
    ...
    
  7. isPalindrome()
    var first = 999,
        second = 999,
        largestPalindromicProduct = 0;
    String.prototype.isPalindrome = function() {
      return this == this.reverse();
    while(first > 99) {
      second = first;
      while(second > 99) {
    ...
    
  8. isPalindrome()
    var isPalindrome = function(str){
      var i = 0;
      var j = str.length-1;
      while (i <= j){
        if (str[i] != str[j]){
          return false;
        i++;
        j--;
    ...
    
  9. isPalindrome()
    String.prototype.isPalindrome = ()=>{
      return this.replace(/[^a-zA-Z ]/g, "").replace(/ /g,'').trim().toLowerCase() == this.replace(/[^a-zA-Z ]/g, "").replace(/ /g,'').trim().toLowerCase().split('').reverse().join('');