0

so this is my solution a long time ago, looked back at it and seem forgot what my regex do:

let palindrome = (str) => {
  // Good luck!
  var pattern     = /[`~!@#$%^&*()_|+\\\s-=?;:'",.<>\{\}\[\]\\\/]/gi;
  var reversed    = str.replace(pattern, '').split('').reverse().join('').toLowerCase(), 
      notReversed = str.replace(pattern, '').split('').join('').toLowerCase();
  
  return Boolean(reversed === notReversed) ? true : false;
};

can someone help me understand the regex? i'd appreciate alot to save time, i don't know why i did that or it can be improved?

gpbaculio
  • 3,649
  • 7
  • 31
  • 67
  • `var str = str.replace(/\W/g, '').toLowerCase(); return (str == str.split('').reverse().join(''));` Done. – apena Aug 28 '20 at 18:31
  • `Boolean(reversed === notReversed) ? true : false` can be simplified to `reversed === notReversed`. You're basically converting a boolean to a boolean and then again into a boolean. – Ivar Aug 28 '20 at 19:01

0 Answers0